IOS工程多環境配置
前言
專案工程裡總是會配置幾個不同的環境,或是後臺環境的各異,或是不同bundleID,每次都要去修改專案配置,不僅麻煩耗時,也不符合專案規範化管理。接下來說一下兩個配置多環境的方法。
目錄
- 利用Build Configuration來配置多環境
- 利用Targets來配置多環境
- 兩者的對比
一、利用Build Configuration來配置多環境
1、首先複製一個現有的Configuration,單擊修改其命名。
2、新增巨集定義,區別當前環境
3、設定bundle identify
4、設定bundle identify 對應的開發/釋出證書
5、建立scheme,選擇對應的target,並修改命名
6、編輯新建的scheme,選擇對應的Configuration
7、專案裡用cocoaPods管理第三方庫,需要重新pod install,來更新對應的配置
8、用Configuration建立的巨集來實現多環境的配置
二、利用Targets來配置多環境
1、首先複製現有的Target,單擊修改其命名
2、刪除新建Target對應的info.plist檔案
3、選擇原本的Info.plist,讓多個Target公用一個info.plist
4、設定對應Target的Bundle Identifier、verson、開發/生產證書,以及Build Settings的相關配置
5、建立新的Asset,勾選對應的Target,點選“+”,新增App Icons & Lauch Images(如果用同一套AppIcon和LauchImage可忽略此操作)
6、配置對應Target的AppIcon、LauchImage和LauchScreen(如果用同一套AppIcon和LauchImage可忽略此操作)
5、設定各自的Preprocessor Macros,可以用在專案裡區分是哪個配置
6、Target建立時也會生成一個scheme,單擊修改scheme的命名
7、編輯Scheme,選擇對應的Target,Configuration保持預設
8、專案裡用cocoaPods管理第三方庫,需要為新增的Target新增對應的pods,再pod install
三、兩者的對比
兩種我在實際專案都用過,都可以實現多個證書環境或者網路環境的配置;
如果要實現多個App各自的AppIcon和LauchImage配置可以用Target的方式,單Configuration無法實現;
如果只是用一套AppIcon和LauchImage,實現多個證書環境或者網路環境的配置,建議用Configuration,因為第一種方案看起來更簡潔一些。