Swift OC 为iOS App设置多环境配置
前言
用Swift编写的iOS工程,现在要区分开发环境和生产环境,用最简单的分Target的方法搞定,看完这篇文章10分钟后搞定。 实现思路如下: 1、在原target上复制一个target,称为target_copy 2、修改target_copy的info.plist的名称和路径,对应target设置不同的Bundle ID,和证书 3、在target_copy的Build Settings里设置宏定义 4、根据不同target的宏定义,用预编译宏来判断不同的环境
一、复制target
选中工程的project -> targets,右键选择Duplicate,如图实例:
二、修改info.plist的名称和路径
复制target后会生成新的info.plist,修改成你想要的名称 修改info.plist文件的名称路径
不同的target设置不同的BundleID和打包证书
三、设置宏
swift设置方法
- 选中 target —> Build Settings —> 搜索 Swift Compiler - Custom Flags
- 展开 Active Compilation Conditions 进行设置,只能这样写:DEV, 不能像OC一样设置DEV=1
- 展开 Other Swift Flags 同样设置 DEV,需要这样写:-D DEV,填完后是 -D 和 DEV 分成两行的
OC设置方法
- 选中 target —> Build Settings —> 搜索 Preprocessor Macros
- 在Preprocessor Macros中设置DEV=1
swift和OC的设置方法是不一样的,如何项目采用混编,swift和OC都要用预编译宏的话,那以上两种方法都需要进行设置
四、 使用预编译宏
如何使用宏来区分开发环境和正式环境呢,看代码,这样选择不同的target会编译出不同的App,也就有不同的环境。
#if DEV
let environment:environmentType = .development
#else
let environment:environmentType = .production
#endif
注意
swift工程和objective-c工程在设置宏的时候会不同,如果是混编,两个地方都要设置上。 有问题欢迎留言评论。
|