測試環(huán)境
OS X Yosemite 10.10.5
Xcode 7.0.1
Build Configuration?
Xcode默認會有2個編譯模式,一個是Debug,一個是Release。Release下不能調(diào)試程序,編譯時有做編譯優(yōu)化,會比用Debug打包出來的運行快,另外包也會更小。

pic1.png
使用場景
我自己碰到的使用場景是,我司的域名有3套:
針對開發(fā)時的域名
針對預上線時的域名
針對上線時對外公開的域名
這個時候,就會有多套域名,全部加起來可能有15個左右。每次打包時,就會特別混亂。(注釋掉現(xiàn)在使用的域名,打開原本注釋掉的那部分,出差錯的可能蠻高的,而且不利于閱讀)
這個時候,我們就使用它來針對3個環(huán)境下不同域名做配置。
配置Build Configuration
1. 添加Configuration
這里我們添加DEVELOP、BETA、保留原有的(release)。這里我們選擇直接duplicatte Debug的配置,因為Release的不能做斷點調(diào)試。

pic2.png
2. 查看Configuration
添加完第1步的Configuration之后,在Edit Scheme里就會看到新添加的配置項

pic3.png
3. 更改Preprocessor Macros
第1步里我們直接復制了Debug的配置項,那這里的值就會有問題,需要自己設置。

pic4.png
4. 在程序里配置對應的Configuration下不同域名

pic5.png
5. 測試
運行程序,修改Scheme下不同的Configuration,就能得到不同的值,那結(jié)果就是正確的了。
基于以上的實驗,app還可以在不同環(huán)境下配置不同的AppIcon和AppName
AppIcon
使用Asset Catalog,分別給三種環(huán)境下配置3個名字
AppIcon
AppIconDEVELOP
AppIconBETA
然后去Target - Build Settings里搜索Asset Catalog App Icon Set Name這一項

pic6.png

pic7.png
App Name
Target - Build Settings里點+號,添加一個User-Defined Setting
比如我們請一個叫APP_DISPLAY_NAME的key值,下面BETA叫BETA,DEVELOP叫DEVELOP, Release還是用系統(tǒng)原配置。
進到Target - Info里,修改Bundle name為$(APP_DISPLAY_NAME)

pic8.png

pic9.png

pic10.png
運行結(jié)果

iconDev.png

iconBeta.png

iconRelease.png
打包配置
這幾天我們做了一件很蠢的事,把開發(fā)用的環(huán)境打包發(fā)給了Apple。
為了彌補這件事,順便規(guī)范以后的打包問題,于是做了一些配置上的補救。
查了下Apple的文檔,原來可以配置,我將Release環(huán)境以外的Skip Install配置成NO,就不會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://m.itdecent.cn/p/51a2bbe877aa
來源:簡書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。