• iOS 同一个项目,创建多个target,打包不同版本的target


    创建新的target有两种:

    第一种:通过新建target(File ——> New——>Target)

    1、Xcode创建新项目TargetDemo:

     2、创建新的target:File ——> New——>Target:

    创建完成后会出现TargetDemoTwo文件夹:

     

    3、如果两个target使用同一个AppDelegate的话,可以把TargetDemoTwo中AppDelegate删除,如果不使用同一个AppDelegate,可以修改名称或者修改名称后继承第一个target的AppDelegate,如果继承target的AppDelegate的话需要选中第一个target中的AppDelegate.m ,在右边栏中选中两个target,如图:

     

     

    4、两个Target关联起来:

    例如,两个target使用同一个ViewController,但是两个target中的视图背景色不同;

    首先把TargetDemoTwo文件夹中的ViewController.h和.m及Main.storyboard删除

    然后选中第一个target中的AppDelegate.m和ViewController.m,在右边栏中Target Membership 中选中两个target,如下图所示:

     

    然后区别两个target,选中TargetDemoTwo,选中Build Setting ,搜索macro ,设置标示。

    选择不同的target,在viewController中代码设置区分,运行TargetDemoTwo,如下图所示:

     

    第二种:通过对原有的target做Duplicate,复制一份

    1、选中需要复制的target,右键选中Duplicate,多出TargetDemo copy 及plist,如图所示:

    修改TargetDemo copy名字,直接选中TargetDemo copy 修改名称的话,运行窗口的target名称没有修改成功,选中运行target的窗口,选中Manage Schemes, 选中回车修改名称,如下图所示:

    2、修改成功后,修改相应的plist文件,修改为TargetDemoThree-info.plist,选中相应的target,选择General ,点击Choose info.plist file...,选择对应的TargetDemoThree-info.plist,配置好plist文件,如下图所示:

    3、同理修改此target的表示,如下图所示:

    4、关联文件同第一种方法,代码区别,运行TargetDemoThree,如下图所示:

    图片等资源文件一些第三方库也可以使用同样的方法关联,如果target版本不需要的资源或第三方库可以不关联,打包的ipa也会相对减小;

    三个target运行结果,如下图:

      参考资源:http://blog.csdn.net/asong_ge/article/details/54931874 

  • 相关阅读:
    (Android)如何将一个高复用性项目供其他项目使用(jar导出,导入,Is Library)(转)
    Android:SlidingMenu 使用详解 .
    单项链表和双向链表的区别
    LinkedList 与 ArrayList的区别
    完全二叉树与满二叉树
    C/C++之回调函数
    C++静态库与动态库
    C++项目中的extern "C" {}
    C++强大背后
    移动优先与响应式Web设计
  • 原文地址:https://www.cnblogs.com/lulushen/p/8514768.html
Copyright © 2020-2023  润新知