手把手教你給一個iOS app配置多個環境變量 – iPhone手機開發 iPhone軟體開發教學課程

手把手教你給一個iOS app配置多個環境變量。談到多環境,相信現在大多公司都至少有2-3個app環境瞭,比如Test環境,UAT(User Acceptance Test)用戶驗收測試環境,Release環境等等。當需要開發打多個包的時候,一般常見做法就是直接代碼裡面修改環境變量,改完之後Archive一下就打包瞭。當然這種做法很正確,隻不過不是很優雅很高效。如果搭建好瞭Jenkins(搭建教程),我們利用它來優雅的打包。如果利用Jenkins來打包,我們就需要來給app來配置一下多個環境變量瞭。之後Jenkins分別再不同環境下自動集成即可。接下來,我們來談談常見的2種做法。

一.利用Build Configuration來配置多環境

前言裡面我們先談到瞭需求,由於需要配置多個環境,並且多個環境都需要安裝到手機上,那麼可以配置Build Configuration來完成這個任務。如果Build Configuration還不熟悉的,可以先溫習一下官方文檔。

1. 新建Build Configuration

先點擊Project裡面找到Configuration,然後選擇添加,這裡新加一個Configuration。系統默認是2個,一個Debug,一個Release。這裡我們需要選擇是復制一個Debug還是Release。Release和Debug的區別是,Release是不能調試程序,因為默認是屏蔽瞭可調試的一些參數,具體可以看BuildSetting裡面的區別,而且Release編譯時有做編譯優化,會比用Debug打包出來的體積更小一點。

這裡我們選擇一個Duplicate “Debug” Configuration,因為我們新的環境需要debug,添加完瞭之後就會多瞭一套Configuration瞭,這一套其實是包含瞭一些編譯參數的配置集合。如果此時項目裡面有cocopods的話,打開Configuration Set就會發現是如下的樣子:

在我們自己的項目裡面用瞭Pod,打開配置是會看到如下信息

註意:剛剛新建完Build Configuration之後,這時如果有pod,請立即執行一下

pod install

pod安裝完成之後會自動生成xcconfig文件,如果你手動新建這個xcconfig,然後把原來的debug和release對應的pod xcconfig文件內容復制進來,這樣做是無效的,需要pod自己去生成xcconfig文件才能被識別到。

新建完Build Configuration,這個時候需要新建pod裡面對應的Build Configuration,要不然一會編譯會報錯。如果沒用pod,可以忽略一下這一段。

如下圖新建一個對應之前Porject裡面新建的Build Configuration

2. 新建Scheme

接下來我們要為新的Configuration新建一個編譯Scheme。

新建完成之後,我們就可以編輯剛剛新建的Scheme,這裡可以把Run模式和Archive都改成新建Scheme。如下圖:

註意:如果是使用瞭Git這些協同工具的同學這裡還需要把剛剛新建的Scheme共享出去,否則其他人看不到這個Scheme。選擇“Manage Schemes”

3. 新建User-defined Build Settings

再次回到Project的Build Settings裡面來,Add User-Defined Setting。

我們這裡新加入2個參數,CustomAppBundleld是為瞭之後打包可以分開打成多個包,這裡需要3個不同的Id,建議是直接在原來的Bundleld加上Scheme的名字即可。

發佈留言