iOS开发: 一个工程多个Target开发

当多个APP项目功能差不多一样,且大多数代码、文件、资源可共用时,就可以在一个项目中通过设置不同的target进行开发。

设置步骤:

1、创建Target
2、Assets.xcassets的设置(app图片、launch启动页),务必勾选对应的target
3、配置Info.plist 修改应用名称、包名、版本号、证书、描述文件等
4、修改Xcode左上角的Target名称
5、 桥接文件pch设置
6、宏定义(Preprocessor Macros)设置
7、pod管理配置

一、创建Target
  1. 新建项目,命名为 Teacher:
    新建项目
  2. 文件结构细化,区分系统文件,新建三个新文件夹,用于区分存放三个不同targer 细化结构
  3. 复制target,通过对原有的target做duplicate(duplicate only),复制一份。
    如果两个target的相同点很多,用duplicate,就可以把相关的设置全部拷贝过来,而不需要做 过多的修改,生成一个新的target。复制target
  4. 复制完可以看到出现了两个东西: 一个是target,一个是info.plist文件。名字可改为我们想要的。复制target结果
  5. 同理 重复操作完成另一个target的复制,最终效果见下图。target创建结果
二、Assets.xcassets的设置(app图片、launch启动页),务必勾选对应的target

给不同target创建各自的Assets.xcassets文件和info.plist文件:

  1. 新建Assets : 新建Assets
  2. 选择对应的target
    这里一定要注意 选择对应的target 选择对应的target 选择对应的target 不要选错了 !!!! 选择对应的target
  3. 重复操作完成另一个target的Assets配置,最终效果见下图。 Assest创建结果
  4. 对应的Assest文件中设置不同的图标和启动页:设置启动页和图标
三、配置Info.plist 修改应用名称、包名、版本号、证书、描述文件等

此时 运行app肯定会报错,因为 info.plist文件改了路径,另外两个info.plist也还没有设置。

  1. 选中teacher的target - Build-Settings - 搜索info.plist
    info.plist
  2. 替换新的路径:info.plist设置新路径
  3. 运行
    测试是否配置合适 Xcode左上角选中那个target 就是运行对应的项目 另外的info.plist文件对它也不会有影响。
    运行
  4. 同理完成 另外两个target的 info.plist路径配置
    一定要注意target是否对应是那个 重点看下图的 “1” 它就代表着当前选中的targetinfo.plist配置
  5. 修改不同的target的包名、BundleID等在这里插入图片描述
四、修改Xcode左上角的Target名称
  1. 选中Xcode左上角的创建工程时的Target,选择Manage schemes在这里插入图片描述
  2. 编辑在这里插入图片描述
五、 桥接文件pch设置
  1. 新建pch文件:在这里插入图片描述
  2. pch路径配置 在这里插入图片描述
  3. pch 文件可以做一些不同target文件下的区分
    里面的AppType 怎么来的? 干嘛的? 请看下一步!
六、宏定义(Preprocessor Macros)设置

由于多个target使用同个文件时,存在一定的差异,在代码中可以实现根据不同宏执行不一样的代码,使其与pch文件协作区别target。

具体步骤与前文类似

  1. 选中debug处,单击该行右边空白处,会弹窗,在点击窗口左下角的“+”添加新项。
    在这里插入图片描述
  2. release操作一样,如下图完成新Target的设置
    这样 上述pch文件就会起作用。
七、 pod管理配置

因为存在多个Target,我们需要区别的设置不同target需要的第三方库,如下图。这里可能出现的问题是如果有很多类似SDWebImage这样的被多个Target需要的类库,我们在删除和增加的时候就会频繁的操作而且会代码冗余。
在这里插入图片描述

最终效果:
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章