iOS开发-配置多个环境变量
前言:
根据配置的多个环境(Build Configuration),生成可安装到手机上的包,来直接对开发环境、测试环境、正式环境进行优雅管理。
一:利用Build Configuration来配置多环境
1.新建build configuration
build configuration系统默认是两个,Release、Debug。Release和Debug的区别是,Release是不能调试程序,因为默认是屏蔽了可调试的一些参数,具体可以看BuildSetting里面的区别,而且Release编译时有做编译优化,会比用Debug打包出来的体积更小一点。本人习惯于Duplicate Debug和Release各一个,DebugTest、ReleaseTest,其作用和目的参考下图,因人而异,这里不必纠结~~~~(>_<)~~~~
1805110101添加完了之后就会多了二套Configuration了,一套其实是包含了一些编译参数的配置集合。如果此时项目里面有cocopods的话,打开Configuration Set就会发现是如下的样子:
1805110102刚刚新建完Build Configuration之后,如果项目使用了pod,执行一下<pod install>命令,查看Pod配置信息里面如下:
18051101032. 新建User-defined Build Settings
选择Project的Build Settings里面来,Add User-Defined Setting,这里新加入2个参数,配置不同环境下对应的应用ID和名字,例如:ZWAPPBundleID是为了之后打包可以分开打成多个包。ZWAppName是为了app安装到手机上之后,手机上显示的名字。
1805110104 1805110105新增build setting完成后,需要到Info.plist文件中配置引用的路径,才能够被访问到资源。由于我们新添加了2个ZWAPPBundleID 和 ZWAppName,这里我们需要把info.plist里面的Bundle display name修改成我们自定义的这个字典。编译过程中,编译器会根据我们设置好的Scheme去自己选择Debug,Release,ReleaseTest,DebugTest分别对应的ProductName。
18051101063. App Icon和Launch Image配置
我们还需要在Images.xcassets或者assets.xcassets里面新添加对应的 iOS App Icon和launch Image,名字最好和scheme的名字相同,这样好区分。
1805110107新建完AppIcon和launch Image之后,再在Build Setting里面找到Asset Catalog Compiler里面,然后把这几种模式下的App Icon和launch Image分别设置上对应的图标。
18051101084. 配置和获取环境变量
1. 使用GCC预编译头参数GCC_PREPROCESSOR_DEFINITIONS
我们进入到Build Settings里面,可以找到Apple LLVM Preprocessing,这里我们可以找到Preprocessor Macros在这里,我们是可以加一些环境变量的宏定义来标识符。Preprocessor Macros可以根据不同的环境预先制定不同定义的宏。
1805110109 1805110110