文章目錄:
-、需求
1、多target創(chuàng)建
2、多target在同一個設備上運行
3、多target使用不同的桌面圖標以及推送圖標
4、預編譯`宏`
需求:
1、項目需要不定時打包【測試環(huán)境,預生產環(huán)境,生產環(huán)境】等相關需求
2、項目不同環(huán)境配置不同
3、兩個項目區(qū)別不大,如訪問地址,App icon ,推送角標
4、不同環(huán)境要同時安裝在同一手機上

so easy !
基于以上需求,如果每次都是手動配置,一則比較麻煩,二則容易配置錯,又或者整個copy一個項目,代價太大。
為此,iOS為我們提供了多TARGETS來解決以上問題
一、多target創(chuàng)建
1、如圖所示,先復制一份target。右擊在彈出的框中,選擇Duplicate Only,即可復制一個target。

復制target.png
2、雙擊可以為我們新復制的target修改名字,如圖所示:

修改新target名稱.png
3、新創(chuàng)建的target對應plist文件也會重新生成一份,我們【show in finder】為plist文件修改名稱,然后在項目中刪除索引,并順便把plist文件放到與項目本身的target同級目錄,導入項目,這樣后續(xù)維護方便。

修改plist名稱之前的位置及名稱.png
4、以下是我新修改完成的plist文件名稱及位置

新plist文件名稱及位置信息.png
5、修改scheme的名字,如圖所示操作步驟

5.1.png

5.2.png

5.3.png
6、接下來應該修正新target的plist路徑。因為改名并挪動了位置,雙擊以下圖中的第五步,為新target糾正plist名稱以及路徑

image.png
7、注意:因新plist文件拖拽了位置,路徑前面需要加上項目名稱/***plist,否則會導致項目找不到plist文件

image.png
二、多target在同一個設備上運行
1、在兩個target中分別設置不同 Bundle Identifier 就可以實現(xiàn)

image.png
2、運行項目,選不同Scheme去運行

image.png
3、效果展示

image.png
三、多target使用不同的桌面圖標以及推送圖標
1、創(chuàng)建App Icon

創(chuàng)建App Icon.png
2、App Icon 改名

為了方便區(qū)分,我們可以進行雙擊改名.png
3、已修改的 App Icon名稱 AppIcon-Production

AppIcon-Production 我新改的名稱.png
4、配置target使用我們新創(chuàng)建的AppIcon-Production

配置target.png
四、預編譯宏
在同一個target下,我們會有不同的配置,如果都在代碼里面進行判斷,每次都要手動修改,不是我們想要的,太麻煩。針對這個問題,我們可以用預編譯宏來解決。target里會有一個Debug模式下的默認的宏:Debug=1,我們可以繼續(xù)添加,或者直接使用這個宏來進行不同的配置。比如我肯定會新加一個宏來使用。
1、搜索 Preprocessor Macros

搜索 Preprocessor Macros.png
2、新增預編譯宏TARGET_VERSION=1

新增預編譯宏.png
3、接下來我們驗證預編譯宏
#if TARGET_VERSION
NSLog(@"原target");
#else
NSLog(@"新target");
#endif

選擇原項目Scheme去運行,輸出 原target.png

選擇新項目Scheme去運行,輸出 新target.png