Target Scheme xcconfig多種多環(huán)境配置

Project:包含了項(xiàng)目所有的代碼,資源文件,所有信息。
Target:對(duì)指定代碼和資源文件的具體構(gòu)建方式。
Scheme:對(duì)指定Target的環(huán)境配置。

不同項(xiàng)目,不同的需求,不同的場景。我們可以同過多Target配置,解決同一份代碼對(duì)應(yīng)不同APP的需求。多Scheme配置,可以解決同一個(gè)APP在不同場景下運(yùn)行,比如debug,release等。Scheme+xcconfig配置,通過文件形式進(jìn)行APP的配置,達(dá)到解耦作用。下面是一些操作案例:

多Target配置:

創(chuàng)建一個(gè)新的Target后,所需修改的地方
Target-圖1.jpg
Target-圖2.jpg
Target-圖3.jpg
使用場景:

首先通過不同的Target我們可以用同一套代碼,創(chuàng)建不同的AppIcon,不同的Bundle identifier,等其它不同的配置,如下圖
圖一.jpg
圖二.jpg
圖三.jpg
我們也可以使用宏判斷:
宏-圖1.jpg
宏-圖2.jpg
宏-圖3.jpg
宏-圖4.jpg

多Scheme配置:
新建Configurations.jpg

新建Scheme-圖1.jpg
新建Scheme-圖2.jpg
修改Scheme配置.jpg
配置不同環(huán)境的鏈接.jpg
綁定到info.plist上.jpg
效果圖1.jpg
效果圖2.jpg

Scheme + XConfig配置

首先我們在工程中創(chuàng)建一個(gè)Config文件夾,里面創(chuàng)建2個(gè)想xcconfig文件,然后去PROJECT --> Info --> configurations 中根據(jù)不同環(huán)境關(guān)聯(lián)不同xcconfig文件。這里的xcconfig和Pods生成的文件一樣。

xcconfig命名規(guī)則可以是 文件名+項(xiàng)目名+環(huán)境名

創(chuàng)建Xconfig并關(guān)聯(lián).jpg

這一步可以操作,也可以不操作。直接進(jìn)demoThree里面切換環(huán)境,這里方便演示創(chuàng)建2個(gè)不同環(huán)境。
創(chuàng)建不同Scheme.jpg
修改Scheme配置.jpg

把xcconfig里面的內(nèi)容和Info.plist進(jìn)行綁定
綁定到info.plist上.jpg

在不同Scheme下運(yùn)行的結(jié)果:(報(bào)錯(cuò)是找不到AFNetworkingAA,注釋就可以)
運(yùn)行結(jié)果.jpg

查看Build Settings我們可以知道,通過xcconfig可以修改Build Settings中的配置。
查找Build Settings里面配置縮寫的網(wǎng)址:https://xcodebuildsettings.com/

圖1.jpg

圖2.jpg

最后項(xiàng)目中是使用Pods管理三方庫的話,這里新增的xcconfig會(huì)和Pods里面的xcconfig產(chǎn)生沖突。解決方法是,在新增的xcconfig里面用#include引入Pods的xcconfig文件

#include "/Users/XXX/Desktop/XXX/Pods/Target\ Support\ Files/XXX/Pods-DIAgent.debug.xcconfig"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容