Xcode项目的多Target管理

3,784 阅读1分钟

多Target的应用场景

一般一个项目会有测试版本和生产版本,有的还可能会有预生产版本等,不同的版本对应的一些参数设置也是不同,如果仅是在一个Target上管理,一是麻烦,二是一旦疏忽了,就容易出错。所以,这种场景下,多Target就可以很好的解决这个问题,不同的Target设置不用的参数,打包的时候,只需要对不同的Target打包就可以了。

如何去设置多Target

1.创建Target,新建项目之后,会有一个默认的Target,选中此Target,右键Duplicate,会生成一个xxxx copy的Target,同时,也会生成一个xxxx copy-Info.plist;

2.修改新Target的名字,选中xxxx copyTarget,再次点击修改名字为xxxx_production;

3.修改新xxxx copy-Info.plist的名字为xxxx_production_info.plist

4.此时,新的Target会显示没有对应的info文件,手动选择刚才修改的info文件;

5.修改Xcode左上角的Target的名字,首先点击当前的Target,在弹出的Target列表下方,选择Manage schemes,然后将xxxx copy修改为xxxx_production;

6.至此,多Target添加完成,注意在向Xcode导入文件的时候,选择对应的Target;

7.添加预处理宏,来判断当前的Target;

1. 在项目的Build Settings里配置Swift Compiler - Custom Flags,展开Other Swift Flags,在Debug右侧输入“-DDEBUG”。也可以“-D DEBUG”,但是不能有赋值,如:“-DDEBUG=1” 或 “-D DEBUG=1”都是无效的。(针对Swift)

2. 在项目的Build Settings里配置Apple LLVM x.x - Preprocessiong,展开Preprocessor Macros,在Debug右侧默认包含“DEBUG=1”,若没有请手动加入。(针对Objective-C、C、C++)

提示:在代码编辑器中,#if 分支的代码,条件成立的会有代码着色。