zoukankan      html  css  js  c++  java
  • 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 

  • 相关阅读:
    BZOJ2697 特技飞行 【贪心】
    BZOJ2795/2890/3647 [Poi2012]A Horrible Poem 【字符串hash】
    BZOJ2823 [AHOI2012]信号塔 【最小圆覆盖】
    BZOJ2924 [Poi1998]Flat broken lines 【Dilworth定理 + 树状数组】
    洛谷P3759 [TJOI2017]不勤劳的图书管理员 【树状数组套主席树】
    POJ 2955
    江南大学第三届程序设计竞赛K题
    Codeforces 894C
    Codeforces 894B
    HDU 1789
  • 原文地址:https://www.cnblogs.com/lulushen/p/8514768.html
Copyright © 2011-2022 走看看