利用Xcode的Configuration 配置不同的編譯環(huán)境

我們之前項(xiàng)目配置域名都使用這種宏定義的方式,需要什么環(huán)境就注釋掉另外幾個(gè),操作起來(lái)比較呆萌,這篇文章說(shuō)一下如何使用Xcode的Configuration 配置不同的編譯環(huán)境。


image.png

1.配置不同環(huán)境下域名

1.1.定義好自己需要哪些環(huán)境(不用代碼寫)

這里創(chuàng)建4種環(huán)境:
1.開(kāi)發(fā)人員環(huán)境 (Other)
直接連后臺(tái)人員電腦,與服務(wù)器聯(lián)調(diào)使用
2.開(kāi)發(fā)環(huán)境(Debug)
完成需求,代碼上傳,在外網(wǎng)開(kāi)發(fā)服務(wù)器調(diào)試
3.預(yù)發(fā)布 (PreRelease)
測(cè)試人員使用,copy的正式數(shù)據(jù)
4.正式環(huán)境 (Release)
上傳AppStore使用

1.2.定義預(yù)編譯文件(不用代碼寫,但是第1.4步要對(duì)應(yīng)上編號(hào))

BUILD_VERSION = 0 -> 開(kāi)發(fā)人員環(huán)境 (Other)
BUILD_VERSION = 1 -> 開(kāi)發(fā)環(huán)境 (Debug)
BUILD_VERSION = 2 -> 預(yù)發(fā)布環(huán)境 (PreRelease)
BUILD_VERSION = 3 -> 正式環(huán)境 (Release)

1.3.在pch中定義不同環(huán)境的URL

#if  (BUILD_VERSION == 0)
//開(kāi)發(fā)人員環(huán)境 (Other)
#define BaseHostUrl @"http://***.*****.**/api/"
#define SERVICEHostURL @"http://***.*****.**"
#elif  (BUILD_VERSION == 1)
//開(kāi)發(fā)環(huán)境(Debug)
#define BaseHostUrl @"http://***.*****.**/api/"
#define SERVICEHostURL @"http://***.*****.**"
#elif  (BUILD_VERSION == 2)
//預(yù)發(fā)布 (PreRelease)
#define BaseHostUrl @"http://***.*****.**/api/"
#define SERVICEHostURL @"http://***.*****.**"
#elif  (BUILD_VERSION == 3)
//正式環(huán)境 (Release)
#define BaseHostUrl @"http://***.*****.**/api/"
#define SERVICEHostURL @"http://***.*****.**"
#endif

1.4.配置configuration

image.png
image.png
image.png

切換環(huán)境運(yùn)行,就會(huì)看到域名會(huì)隨著切換的環(huán)境進(jìn)行改變成對(duì)應(yīng)的地址。

備注:如果運(yùn)行報(bào)error: unable to parse contents of file list '/xxx/Pods/Target Support Files
/Pods-xxx/Pods-xxx-frameworks-Debug-input-files.xcfilelist'
類似的錯(cuò)誤,是因?yàn)閜ods的庫(kù)找不到路徑了,你改好上面的配置后,再重新pods一下項(xiàng)目,編譯應(yīng)該就可以過(guò)了。

2.配置不同環(huán)境下的Bundle Id和Display name

image.png

分別添加APP_BUNDLE_ID 和APP_DISPLAY_NAME兩項(xiàng),并配置各環(huán)境相對(duì)應(yīng)的值


image.png

然后點(diǎn)擊TARGET->Info,將Bundle identifier 對(duì)應(yīng)的值改成$$(APP_BUNDLE_ID),Bundle name 對(duì)應(yīng)的值改為$(APP_DISSPLAY_NAME)


image.png

3.配置不同環(huán)境下的AppIcon

image.png

然后再點(diǎn)PROJECT->Build Setting 找到Asset Catalog App Icon Set Name,將第一步中添加的icon名稱配置到相應(yīng)環(huán)境中。


image.png

至此,通過(guò)Xcode配置不同環(huán)境下的域名、bundle ID、bundle name和appicon就完成了。

?著作權(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),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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