APP配置多環境分發(一)
首先明白一點,我做的不是建立多個Target,而是一個Target下的多個scheme,今天並沒有將3個APP都完全整合,先整合進一個,如果成功了另一個也不成問題了。
開啟目標工程,看Xcode左上角,工程預設只有1個scheme
2種Build模式Debug和Release, 分別對應除錯和釋出兩種用途
每種Configuration都有一個Configuration Set是因為我在工程裡使用了CocoaPods,如果沒有使用的話兩種配置應該都是空的。
現在,我們點選Configurations下的加號按鈕“+”來新增配置,通過Duplicate Debug 和Duplicate Release來複制一份出來,等同於新增。
2個APP,每個APP對應除錯環境和正式環境兩種Build方式,所以我們應該有4種Configuration,自己改好Configuration的名稱,做到自己一眼就能分辨出來,一般都是“APP名稱 + Debug/Release”的格式比較容易分辨。
下面我們進入Project - BuildSetting - User-Defined
User Defined下的內容無需理會,上方找到加號按鈕,點選後選擇Add User-Defined Seeting
在User-Defined的下方找到未命名的標籤
這個標籤下可以配置我們想要改變的環境變數的其中一種,而標籤的名字我們可以看做是一個變數,接下來會用到,首先我們先來配置Bundle ID,為了接下來的步驟我們便於找到這個變數,我們起名為BUNDLE_ID, 你會發現標籤下已經自動生成了我們定義好的4中configuration.
我們在每一種configuration中填寫好自己需要的配置,設定APP名字的標籤我們可以命名為DISPLAY_NAME,然後對每種configuration依次配置好自己需要的值,這裡不再贅述。
下面開啟Plist檔案,改變這些設定的值,將定值改為我們剛才定義好的變數名稱,BUNDLE_ID和DISPLAY_NAME,這樣,在build的時候,這兩項配置就會跟隨我們選擇的configuration而變化,當Bundle ID不同的時候,其實也就實現了生成兩個獨立的APP。
下面我們新增新的APP的scheme,選擇new scheme
選擇原工程的Target,為新的scheme命名
新增好後,我們先點選新建的scheme,然後在下拉選單選擇Edit Scheme,分別在Run和Archive中選擇想生成的新APP對應的除錯設定和打包設定。
接下來,在打包APP的時候通過選擇對應的Scheme就可以來選擇生成對應環境的app了。
還有一點要注意,如果你在使用SVN,Git等協同工具,一定要在ManageScheme中將所有的自定義的scheme最後面的share勾選上,否則別人同步程式碼後是看不到的。
後面還會針對不同APP的內部URL,文字,和圖片進行更改。