iOS 多targets回顧 概念、創(chuàng)建、使用

文章目錄:
-、需求
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、接下來應該修正新targetplist路徑。因為改名并挪動了位置,雙擊以下圖中的第五步,為新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

OK,沒問題,通過以上可完美解決我們需求列的問題 !!

碼字不宜,轉載請注明出處 ~~~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容