【iOS】動(dòng)態(tài)修改APP圖標(biāo)

在微博上看到了 @安財(cái)小小生分享的iOS 10.3新增功能:通過API動(dòng)態(tài)修改APP的圖標(biāo),自己深入了解了一下。

前言


現(xiàn)在每逢公司運(yùn)營活動(dòng)需要或者迭代改版,設(shè)計(jì)就可能對(duì)APP圖標(biāo)進(jìn)行修改。舉個(gè)例子:去年猴年就有很多APP在圖標(biāo)上添加了緊箍的元素。


猴年元素

當(dāng)活動(dòng)結(jié)束后,圖標(biāo)又會(huì)進(jìn)行更改,每次更改都需要提交版本?????♂?……會(huì)不會(huì)這個(gè)新增功能就是蘋果傾聽"民意"的結(jié)果呢???

實(shí)現(xiàn)方法


Info.plist設(shè)置

實(shí)現(xiàn)代碼
  1. 在Info.plist添加備用圖標(biāo)和默認(rèn)圖標(biāo),icon圖片名不需要包含文件擴(kuò)展名
    CFBundleIcons是一個(gè)字典,字典中包含所有APP所有icon信息。字典中的字段包括:
  • CFBundlePrimaryIcon:APP默認(rèn)icon
  • CFBundleAlternateIcons:APP備用icons
  • UINewsstandIcon:用于Newsstand的icons
  1. 實(shí)現(xiàn)代碼
    首先需要判斷系統(tǒng)是否支持alternate icons,然后通過setAlternateIconName:completionHandler:修改應(yīng)用圖標(biāo)
    效果圖

審核意見

最近在瀏覽審核指南時(shí)看到如下的提示:

4.6 備選 App 圖標(biāo)
App 可以使用自定圖標(biāo)以傳達(dá)特定信息 (例如表達(dá)對(duì)某個(gè)運(yùn)動(dòng)團(tuán)隊(duì)的喜愛),前提是每次更改都由用戶發(fā)起,并且 app 中應(yīng)包含恢復(fù)至原始圖標(biāo)的設(shè)置。所有圖標(biāo)變體必須與 app 的內(nèi)容相關(guān),并且更改內(nèi)容在所有系統(tǒng)資源之間應(yīng)保持一致,以便“設(shè)置”和“通知”等位置中顯示的圖標(biāo)與新的 Springboard 圖標(biāo)相吻合。這項(xiàng)功能不可用于動(dòng)態(tài)、自動(dòng)或連續(xù)性更改,例如用于反映最新天氣信息和日歷通知等。

總結(jié)


如有不正,感謝指出。
感謝開源。

參考資料


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