SEP 6TH, 2014
經(jīng)常在開(kāi)發(fā)中遇到同一個(gè)App會(huì)有很多渠道版本雳殊,比如OTA內(nèi)部測(cè)試版本恐锣,AppStore發(fā)布版本等嵌言。針對(duì)這些不同的版本我們通常會(huì)選擇不同的圖標(biāo)蝠检、應(yīng)用名稱等,效果如下圖所示:
demo_preview.png
P.S上面使用的兩個(gè)測(cè)試圖標(biāo)分別來(lái)源于土巴兔和樂(lè)視TV的iPhone版本APP的圖標(biāo)涎显,是兩個(gè)非常不錯(cuò)的APP,感謝你們兴猩。
Bundle ID
iOS系統(tǒng)區(qū)分不同的App是否相同是根據(jù)App的Bundle ID是否相同來(lái)判斷的期吓。如果想要在一個(gè)系統(tǒng)上安裝一個(gè)App的多個(gè)版本其實(shí)是需要多個(gè)Bundle ID,就是說(shuō)正式版一個(gè)Bundle ID倾芝,測(cè)試版一個(gè)Bundle ID讨勤。比如我們正式版(發(fā)布到AppStore上)的Bundle ID是com.devzeng.myappappstore,內(nèi)部OTA測(cè)試版本的Bundle ID是com.devzeng.myappota.
Build Configuration
默認(rèn)Xcode會(huì)提供2個(gè)Build配置項(xiàng)(Build Configuration):Debug和Release晨另。一般來(lái)說(shuō)這樣兩種情況就足夠了潭千,但是在有些時(shí)候我們需要添加一個(gè)新的配置項(xiàng),添加一個(gè)新的配置項(xiàng)的步驟如下:
1借尿、方式一:選中PROJECT的名稱刨晴,然后選中Info,點(diǎn)擊Configurations下面的+選擇Duplicate "Debug" Configuration,如下圖:
build_setting_01.png
2路翻、方式二:選中PROJECT的名稱狈癞,然后選中Editor–>Add Configuration–>Duplicate "Debug" Configuration,如下圖所示:
build_setting_02.png
User-Defined Setting
在Xcode中使用User-Defined Setting可以定義一些Xcode編譯使用的宏配置茂契,為了實(shí)現(xiàn)不同環(huán)境下App顯示的名稱和圖標(biāo)不同蝶桶,可以在User-Defined Setting中定義一些有關(guān)應(yīng)用程序名稱和應(yīng)用圖標(biāo)的配置。
1掉冶、開(kāi)啟User-Defined Setting真竖,如下圖:
user-defined-01.png
2、添加APP_DISPLAY_NAME(APP的名稱)厌小、APP_ICON_NAME(APP圖標(biāo)名稱)和BUNDLE_IDENTIFIER(APP Bundle ID)三個(gè)配置選項(xiàng)恢共,效果如下圖:
user-defined-02.png
Info.plist配置
關(guān)于常見(jiàn)的Info.plist的一些配置可以參考《iOS中Info.plist文件的常見(jiàn)配置》。
1召锈、配置應(yīng)用的圖標(biāo)
使用${APP_ICON_NAME}.png旁振、${APP_ICON_NAME}@2x.png和${APP_ICON_NAME}-120@2x.png替代圖標(biāo)的名稱。
info_plist_icon_name.png
2、配置應(yīng)用的名稱
設(shè)置Bundle display name為${APP_DISPLAY_NAME}拐袜,其中APP_DISPLAY_NAME是前面User-Defined Setting中設(shè)置的應(yīng)用程序名稱的配置項(xiàng)吉嚣。
info_plist_display_name.png
3、配置Bundle ID,用于區(qū)分不同的版本
設(shè)置Bundle identifier為${BUNDLE_IDENTIFIER}蹬铺,其中BUNDLE_IDENTIFIER是前面User-Defined Setting中設(shè)置的應(yīng)用程序Bundle ID的配置項(xiàng)尝哆。
info_plist_bundle_id.png
參考資料
1、《How to Have Two Versions of the Same App on Your Device》
2甜攀、《如何在一個(gè)設(shè)備上安裝一個(gè)App的兩個(gè)不同版本》
3秋泄、《Adding a build configuration in Xcode》
? iOS多線程之GCDiOS開(kāi)發(fā)中的Search Paths設(shè)置 ?
Recent Posts
在iOS9中使用3D Touch
在iOS9中使用CoreSpotlight
使用SQLCipher加密SQLite數(shù)據(jù)庫(kù)
iOS中Realm數(shù)據(jù)庫(kù)的基本用法
GitLab的簡(jiǎn)單使用
初識(shí)Apple Watch應(yīng)用開(kāi)發(fā)
合理使用Python助力iOS開(kāi)發(fā)
iOS開(kāi)發(fā)中集成Reveal
使用Wax給你的應(yīng)用程序打補(bǔ)丁
iOS開(kāi)發(fā)中善用日志記錄工具
iOS8中的Safari Action Extension
iOS中ARC下block的循環(huán)引用
About Me