项目里面创建了多个target(分别是:生产环境、测试环境、开发环境),每个target对应一个环境,并配置不同的info.plist文件,这样做的好处是不用开发人员每次都要去手动开启/注释某些代码去发布,而是先配置好,到时候直接切换target就可以打包上线了,是不是很期待呢? 创建不同的target直接贴图
点击完成后,将名称改为projectName-dev和projectName-test,默认的projectName当生产环境。 :warning::创建不同的target时,有个细节需要注意,那就是你的项目如果是xcworkspace时,先 pod install 后再去按照贴图上面的操作去完成,否则,先创建再pod install ,projectName-dev和projectName-test就会出现报错,报错原因是pod的配置信息没完成或文件路径没索引到(我之前就遇到过,试了好多次,还好经过测试跳过了这个坑,:smile:)。 改名称targets分别改成:<#projectName#>、<#projectName#>-dev、<#projectName#>-test scheme也分别改成:<#projectName#>、<#projectName#>-dev、<#projectName#>-test info.plist分别改成:info.plist、<#projectName#>-dev-info.plist、<#projectName#>-test-info.plist
:warning:: 1、这里的三个环境都是一一对应的。 2、.plist的作用就是可以配置不同的信息,比如:Bundle name、Bundle versions string, short、Bundle version等,以区分下不同环境。 别忘了在build setting–>Info.plist File配置 例如: //:configuration = DebugINFOPLIST_FILE = IOS-WeidaiCreditLoan/IOS-WeidaiCreditLoan-dev-Info.plist //:configuration = ReleaseINFOPLIST_FILE = IOS-WeidaiCreditLoan/IOS-WeidaiCreditLoan-dev-Info.plist //:completeSettings = someINFOPLIST_FILE 预定义宏(Build Setting–>Preprocessor Macros)这个宏是一个全局宏,在所有/整个工程的代码中都是有效的,我们可以在这里添加上环境与处理的宏(例如:WD_Environment_Mode,这个是随便自己取的)
然后在.pch文件中 /** WD_Environment_Mode 0:生产环境 1:测试环境 2:开发环境 */#ifdef WD_Environment_Mode #ifWD_Environment_Mode == 0 #defineWDAPIServerUrl @"" #defineJSPatchAppKey @"" #elifWD_Environment_Mode == 1 #defineWDAPIServerUrl @"" #defineJSPatchAppKey @"" #elifWD_Environment_Mode == 2 #defineWDAPIServerUrl @"" #defineJSPatchAppKey @"" #else #warning"未匹配环境" #endif 到此,在项目中创建多个target的目的就已经达到了。 (责任编辑:好模板) |