Configuration版本設置

在專案正式上架之前,請測試人員測試時環境切來切去實在浪費太多時間,為了方便整個流程運作,將不同環境的App都安裝在同一個裝置,也可以更改icon與名稱來增加識別度。
建立及使用配置檔案

在PROJECT下的Info可以看到創建專案時就設定好的兩個Configuration,分別是Debug及Release,根據需求按下"+"去增加。

在專案目錄下新增xcconfig檔案,倘若需要的配置超過兩場就再多新增即可。

點擊右方"DEBUG"

可以看到你所建立的xcconfig檔案,根據你要對應的配置檔做選擇。

原則上讀取只能使用字串,格式如圖

讀取配置檔的格式使用$(對應欄位名稱),就會將資料載入
至此便可達到更改App名稱的效果。
變更配置檔案方法


點擊"edit scheme"可以看到Build Configuration,在這裡就可以選擇你要Run的配置
同理在Test等其他運行的配置也都能做更改

避免上架出問題,Archive打包送審前一定要特別注意是不是正式上線的版本!
配置檔案應用
1. 根據配置檔更換專案 Domain

Domain部分刻意不把https://放進去,省得處理斜線問題在讀取時補上即可。

在 info.plist裡面新增一個字串的欄位,其中value對應到配置檔的Domain
再透過讀取info.plist的文字檔案來達成修改Domain
apiDomain = "https://"+(Bundle.main.infoDictionary?["Backend Url"] as? String)!
2. 根據配置檔更換App icon

到Build Setting搜尋"icon",找到如圖的設定填入key
在xcconfig裡新增一個欄位,用來對應icon
IS_APP_ICON = TestAppIcon
其中TestAppIcon,是在Assets裏測試環境的icon名稱
以上是簡略地說明,之後會再補上Github Demo專案
在使用配置時,要特別注意的是有使用套件的專案,如Firebase、Farbic等需要log使用者情況,要記得將套件環境也加入設定,避免將開發人員的操作也都紀錄進去。
透過這種方式進行版配配置,相較於直接使用變數來改變環境或是新增Target更加優雅方便,有任何錯誤問題歡迎留言
