本文将达到以下目的:使用config文件管理设置后,我们可以为DEBUG、RELEASE、appstore等不同环境配置不同的bundledisplayname、bundleID、证书、配置文件等等,同时根据运行时环境,在代码中做不同处理,切换环境再也不麻烦了。。。。。是不是很爽
1.选中project文件,添加configuration

2.新建config文件(若使用cocoapods会自动生成config文件,可略过这一步)

3.为不同的环境配置不同的config文件,如果需要,config可以共用

4.(使用cocoapods看这里),自动生成的配置文件在这里

5.想修改那些buildsetting选项,就直接从粘贴复制到config文件中,例如证书、provision file、other swift flags、自定义的bundle id等等

6.修改运行环境,buildsetting就会随着变化,在edit sheme中修改build Configuration

7.设置运行时环境宏定义标记,我们使用config文件修改宏定义,下图示范了为release环境配置RELEASE宏定义的代码,其他同理

8.根据宏定义,使用代码检测运行时环境,当前环境下可以执行的分支将会被xcode渲染,如图中的RELEASE

9.使用config文件配置info.plist中的选项,添加自定义的设置

例如添加CUSTOM_DISPLAY_NAME,为不同环境配置不同的app名称,使用${自定义设置名}设置app名从配置项中获取

我们发现使用在使用cocoapod时,自动生成了config文件,我们就需要和pods共用config文件,文件位置也在project Pods下,而不是在我们自己的主工程目录下,管理起来很不爽。所以建议使用carthage管理自己的第三方库,我们就可以建立自己完全控制的config文件了,carthage使用请看下一篇文章:使用Carthage管理三方库。谢谢支持,喜欢的话❤️下吧。。。。。
网友评论