測(cè)試環(huán)境
OS X Yosemite 10.10.5
Xcode 7.0.1
Build Configuration?
Xcode默認(rèn)會(huì)有2個(gè)編譯模式乾蛤,一個(gè)是Debug效床,一個(gè)是Release铐殃。Release下不能調(diào)試程序滋尉,編譯時(shí)有做編譯優(yōu)化竖慧,會(huì)比用Debug打包出來(lái)的運(yùn)行快,另外包也會(huì)更小敞葛。
pic1.png
使用場(chǎng)景
我自己碰到的使用場(chǎng)景是誉察,我司的域名有3套:
針對(duì)開(kāi)發(fā)時(shí)的域名
針對(duì)預(yù)上線時(shí)的域名
針對(duì)上線時(shí)對(duì)外公開(kāi)的域名
這個(gè)時(shí)候,就會(huì)有多套域名惹谐,全部加起來(lái)可能有15個(gè)左右持偏。每次打包時(shí),就會(huì)特別混亂氨肌。(注釋掉現(xiàn)在使用的域名鸿秆,打開(kāi)原本注釋掉的那部分,出差錯(cuò)的可能蠻高的儒飒,而且不利于閱讀)
這個(gè)時(shí)候谬莹,我們就使用它來(lái)針對(duì)3個(gè)環(huán)境下不同域名做配置檩奠。
配置Build Configuration
1. 添加Configuration
這里我們添加DEVELOP桩了、BETA、保留原有的(release)埠戳。這里我們選擇直接duplicatte Debug的配置井誉,因?yàn)镽elease的不能做斷點(diǎn)調(diào)試。
pic2.png
2. 查看Configuration
添加完第1步的Configuration之后整胃,在Edit Scheme里就會(huì)看到新添加的配置項(xiàng)
pic3.png
3. 更改Preprocessor Macros
第1步里我們直接復(fù)制了Debug的配置項(xiàng)颗圣,那這里的值就會(huì)有問(wèn)題,需要自己設(shè)置屁使。
pic4.png
4. 在程序里配置對(duì)應(yīng)的Configuration下不同域名
pic5.png
5. 測(cè)試
運(yùn)行程序在岂,修改Scheme下不同的Configuration,就能得到不同的值蛮寂,那結(jié)果就是正確的了蔽午。
基于以上的實(shí)驗(yàn),app還可以在不同環(huán)境下配置不同的AppIcon和AppName
AppIcon
使用Asset Catalog酬蹋,分別給三種環(huán)境下配置3個(gè)名字
AppIcon
AppIconDEVELOP
AppIconBETA
然后去Target - Build Settings里搜索Asset Catalog App Icon Set Name這一項(xiàng)
pic6.png
pic7.png
App Name
Target - Build Settings里點(diǎn)+號(hào)及老,添加一個(gè)User-Defined Setting
比如我們請(qǐng)一個(gè)叫APP_DISPLAY_NAME的key值,下面BETA叫BETA,DEVELOP叫DEVELOP蘸泻, Release還是用系統(tǒng)原配置梅忌。
進(jìn)到Target - Info里,修改Bundle name為$(APP_DISPLAY_NAME)
pic8.png
pic9.png
pic10.png
運(yùn)行結(jié)果
iconDev.png
iconBeta.png
iconRelease.png
打包配置
這幾天我們做了一件很蠢的事僧鲁,把開(kāi)發(fā)用的環(huán)境打包發(fā)給了Apple虐呻。
為了彌補(bǔ)這件事,順便規(guī)范以后的打包問(wèn)題寞秃,于是做了一些配置上的補(bǔ)救铃慷。
查了下Apple的文檔,原來(lái)可以配置蜕该,我將Release環(huán)境以外的Skip Install配置成NO犁柜,就不會(huì)Archive出ipa了。
參考
http://nickcheng.com/post/unique-icons-for-your-app-in-different-state-in-xcode5-debug-release
https://developer.apple.com/library/ios/technotes/tn2215/_index.html
作者:PengElement
鏈接:http://www.reibang.com/p/51a2bbe877aa
來(lái)源:簡(jiǎn)書(shū)
著作權(quán)歸作者所有堂淡。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)馋缅,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。