關(guān)于設(shè)置iOS應(yīng)用AppIcon的探索

我們可能面臨這樣的需求——同一系列的iOSApp產(chǎn)品,需要分開發(fā)布不同的版本。例如一款幼兒教育類App,需要針對(duì)幼兒家長(zhǎng)、教師開發(fā)不同功能需求的產(chǎn)品;或者一款產(chǎn)品測(cè)試的時(shí)候一套AppIcon,上線的時(shí)候另一套AppIcon。諸如此類,在不同情形使用不同的AppIcon。通常由于這樣的系列App功能大同小異,所以會(huì)選擇在同一個(gè)工程中開發(fā)。

不同的版本會(huì)對(duì)應(yīng)不同的BundleIdentifier,Appicon無(wú)可厚非。設(shè)置BundleIdentifier還好說,但是設(shè)置AppIcon卻有很繁復(fù)。我不知道您是否遇到過這樣的需求,小伙伴們是怎么處理的?

在此之前用到的方法就是在工程中文件路徑下建兩個(gè)文件夾,例如iconPRO、iconDEV,每個(gè)文件夾放各自的AppIcon。(請(qǐng)注意,這兩個(gè)文件夾不要添加到工程中)。每次打包的時(shí)候把對(duì)應(yīng)文件夾中的圖片copy出來(lái),添加到工程中。

這樣的方式,是有些繁復(fù)的。有木有通用的解決方式呢?最近對(duì)于這些方面的問題作了一些探索。首先要明白一點(diǎn),在工程中有一個(gè)info.plist的文件,在這個(gè)文件中Icon files存放了appicon的文件名。通過$(PRODUCT_BUNDLE_IDENTIFIER)可以拿到當(dāng)前一個(gè)應(yīng)用程序的bundleid。如果文件名能跟bundleid關(guān)聯(lián)起來(lái),這個(gè)文件名隨bundle而改變,這樣似乎可以解決問題。

我們事先把不同版本所需要的appicon放在工程中,例如放在文件夾iconApp,并把它添加到工程中。假如兩個(gè)版本對(duì)應(yīng)的bundleid為com.owner.weekly和com.owner.daily。

命名規(guī)則如下:


iconApp.jpg

添加到工程中(而不是Assets.xcassets中):

iconNavigator.png

然后設(shè)置info.plist文件中Icon files.如下:

iconPlist.jpg

這樣基本的配置就做好了。假如我們現(xiàn)在的bundleid=com.owner.weekly,則在模擬器上的運(yùn)行效果如下:

iconWeekly.jpg

如果bundleid=com.owner.daily,則運(yùn)行如下:


iconDaily.jpg

這樣一來(lái),我們就可以在設(shè)置不同bundleid的時(shí)候,自動(dòng)切換顯示相應(yīng)的AppIcon,不需要再人為去設(shè)置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)容

  • 本文是對(duì) 關(guān)于設(shè)置 iOS 應(yīng)用 AppIcon 的探索里面提出問題的另一種探索方案。 原文是通過巧妙的使用了$(...
    酷酷的哀殿閱讀 286評(píng)論 1 2
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,366評(píng)論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,724評(píng)論 19 139
  • 1. 你是誰(shuí) ?(你學(xué)前狀態(tài)) 我是應(yīng)杰。 我學(xué)習(xí)冰寶前,我的發(fā)音靠模仿,即知其然不知其所以然。對(duì)...
    yingjie1960閱讀 426評(píng)論 2 2
  • 忽然感覺有些患得患失起來(lái),感覺怪怪的,有點(diǎn)心慌,病啦?! 嗯,確定了是有些煩,從什么時(shí)候開始的呢?從老媽家回來(lái)的路...
    素顏hb閱讀 277評(píng)論 0 0

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