如何在iOS項(xiàng)目中創(chuàng)建多個(gè)target?

現(xiàn)在的項(xiàng)目里面創(chuàng)建了多個(gè)target(分別是:生產(chǎn)環(huán)境、測(cè)試環(huán)境、開發(fā)環(huán)境),每個(gè)target對(duì)應(yīng)一個(gè)環(huán)境,并配置不同的info.plist文件,這樣做的好處是不用開發(fā)人員每次都要去手動(dòng)開啟/注釋某些代碼去發(fā)布,而是先配置好,到時(shí)候直接切換target就可以打包上線了,是不是很期待呢?

創(chuàng)建不同的target

直接貼圖


點(diǎn)擊完成后,將名稱改為projectName-dev和projectName-test,默認(rèn)的projectName當(dāng)生產(chǎn)環(huán)境。

??:創(chuàng)建不同的target時(shí),有個(gè)細(xì)節(jié)需要注意,那就是你的項(xiàng)目如果是xcworkspace時(shí),先pod install后再去按照貼圖上面的操作去完成,否則,先創(chuàng)建再pod install,projectName-dev和projectName-test就會(huì)出現(xiàn)報(bào)錯(cuò),報(bào)錯(cuò)原因是pod的配置信息沒完成或文件路徑?jīng)]索引到(我之前就遇到過,試了好多次,還好經(jīng)過測(cè)試跳過了這個(gè)坑,??)。

改名稱

targets分別改成:<#projectName#>、<#projectName#>-dev、<#projectName#>-test

scheme也分別改成:<#projectName#>、<#projectName#>-dev、<#projectName#>-test

info.plist分別改成:info.plist、<#projectName#>-dev-info.plist、<#projectName#>-test-info.plist


??:

1、這里的三個(gè)環(huán)境都是一一對(duì)應(yīng)的。

2、.plist的作用就是可以配置不同的信息,比如:Bundle name、Bundle versions string, short、Bundle version等,以區(qū)分下不同環(huán)境。

別忘了在build setting–>Info.plist File配置

例如:

//:configuration = DebugINFOPLIST_FILE = IOS-WeidaiCreditLoan/IOS-WeidaiCreditLoan-dev-Info.plist

//:configuration = ReleaseINFOPLIST_FILE = IOS-WeidaiCreditLoan/IOS-WeidaiCreditLoan-dev-Info.plist

//:completeSettings = someINFOPLIST_FILE

預(yù)定義宏(Build Setting–>Preprocessor Macros)

這個(gè)宏是一個(gè)全局宏,在所有/整個(gè)工程的代碼中都是有效的,我們可以在這里添加上環(huán)境與處理的宏(例如:WD_Environment_Mode,這個(gè)是隨便自己取的)


然后在.pch文件中

/**

WD_Environment_Mode

0:生產(chǎn)環(huán)境

1:測(cè)試環(huán)境

2:開發(fā)環(huán)境

*/#ifdef WD_Environment_Mode

#ifWD_Environment_Mode == 0

#defineWDAPIServerUrl ??@""

#defineJSPatchAppKey ? ??@""

#elifWD_Environment_Mode == 1

#defineWDAPIServerUrl @""

#defineJSPatchAppKey? @""

#elifWD_Environment_Mode == 2

#defineWDAPIServerUrl @""

#defineJSPatchAppKey? @""

#else

#warning"未匹配環(huán)境"

#endif

到此,在項(xiàng)目中創(chuàng)建多個(gè)target的目的就已經(jīng)達(dá)到了。

iOS技術(shù)交流:566912706

最后編輯于
?著作權(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)容