一个工程建立多个target
来源:互联网 发布:股票下载什么软件 编辑:程序博客网 时间:2024/06/03 07:07
多个应用使用界面效果几乎一致,仅仅改变主题色和主题logo的情况下,为了节省资源,便于代码维护,选择用一个工程建立多个target的方式实现此需求。
1,新建一个Target(在原来的target上右键,选择duplicate,Xcode会复制一个名为 copy的target对象,同时生成一个 copy-info.plist和Acopy的scheme)
注意
创建不同的target时,有个细节需要注意,那就是你的项目如果是xcworkspace时,先pod install后再去按照贴图上面的操作去完成,否则,先创建再pod install,projectName-dev和projectName-test就会出现报错,报错原因是pod的配置信息没完成或文件路径没索引到。
操作如图:
添加完之后有三点出现新的target
2,修改应用的名字,target的名字,在info.plist中修改 以及bundleID的修改
a)对 copy target改名,可以直接单击target来修改,改成SecondTarget
b)MoreTarget copy-info.plist,默认生成在程序环境根目录,如果想放到里层,可以先在Xcode删除 MoreTarget copy-info.plist索引,然后拷贝文件到制定目录中,然后更名为SecondTarget-info.plist,然后add到project中。Prefix Header的路径,视具体需求而定是否要修改,如果两个target可以公用同一个Prefix Header,那么就不需要修改这里的路径
生成一个新的target,可以定义预编译宏,预定义宏(Build Setting–>Preprocessor Macros)这个宏是一个全局宏,在所有/整个工程的代码中都是有效的,我们可以在这里添加上环境与处理的宏(例如:MORETARGET,这个是随便自己取的)
两个target情况下的配置如下:
然后在定义宏的文件中加入如下代码
/**MORETARGET0:项目11:项目2*/#ifdef MORETARGET#if MORETARGET == 0#defineWDAPIServerUrl @""#defineJSPatchAppKey @""#elif MORETARGET == 1#defineWDAPIServerUrl @""#defineJSPatchAppKey @""#else#warning"未匹配环境"#endif
其他:Build Phases(各target编译所包含的内容,需要注意的是,如果创建了Second target 后,再往原target里面添加资源或文件,Second target 中不会自动增加这些资源,需要手动添加)
1.Compile Sources
需要编译的代码文件
2.Link Binary With Libraries
编译所依赖的库
3.Copy Bundle Resources
编译需要的资源
每个target可以根据具体需要增减里面的内容
- 一个工程建立多个target
- ios一个工程的多个target
- 一个工程的多个target
- 要不要一个Xcode工程多个target
- 要不要一个Xcode工程多个target
- iOS 开发 Xcode 一个工程 Project 创建多个 target
- 在一个Xcode页面建立多个工程
- xcode创建一个工程的多个target,便于测试和发布多个版本
- 在XCode内建立多个Target
- 在XCode内建立多个Target
- 在XCode内建立多个Target
- Xcode工程创建多个target
- xcode工程内添加多个Target
- xcode工程内添加多个Target
- (转)Xcode多个Target工程
- Xcode里一个工程(Project)多个项目(target)做版本控制讨论
- xcode创建一个工程的多个target,应对不同的环境
- iOS-一个项目多个Target
- 标准时间GMT|UTC以及NTP协议学习
- 算法基础之ADT树
- 如何在Linux中查找一个文件
- python:HTTP Error 505: HTTP Version Not Supported
- KiCad设计PCB-15-SD卡接口原理图设计
- 一个工程建立多个target
- PHP的一些天坑_0
- android EditText 的使用
- jQuery File Upload
- Android中进程间通信 (一)
- KiCad设计PCB-16-红外发射和红外接收管的原理图设计
- 线性表之顺序队列
- Android Looper用法及原理
- linux centos 7 图形界面上装五笔