動態(tài)更換App圖標
iOS 10.3之前,App圖標是固定的,只能通過App發(fā)新版來更新。iOS 10.3引入了一個新的API,它允許在App運行的時候,可以通過代碼為App更換iCON。所以我們現(xiàn)在經(jīng)常可以看到,在未更新App的情況下,桌面上的App圖標被更換了!
雖然蘋果提供了更換iCON的功能,但可更換的iCON是有限制的,它需要開發(fā)者提前預(yù)置在工程里,并做好相應(yīng)配置。更改iCON的時候,只能在有限的選項中進行選擇。
該功能應(yīng)用的場景
1、白天/夜間模式切換,在切換App主色調(diào)同時切換App圖標。
2、各類皮膚主題(淘寶就可換膚),附帶App圖標一塊更換。
3、利用App圖標表達某種特定功能,如提示當前天氣。
4、圖標促銷提示,如淘寶京東特定節(jié)日:11.11、6.18,提前更換App圖標。
具體如何操作步驟:
1、新建測試項目,設(shè)置項目的主App圖標。方式和正常設(shè)置Appicon方式一樣。
2、配置需要動態(tài)展示的App圖標圖片。新建一個文件夾AppIcons,將需要展示的圖片放在里面,配置info.plist文件。具體的參數(shù)說明可以看一下官方文檔Core Foundation Keys中的CFBundleIcons等參數(shù)。
3、更換AppIcon圖標。
4、去掉更換icon時的彈框。在設(shè)置icon的時候,會有個系統(tǒng)彈框,這對用戶會不太友好,可以使用Runtime,對UIViewController進行擴展來隱藏彈框。
需要注意的是:
根據(jù)蘋果審核條款4.6項,“App中應(yīng)包含恢復(fù)至原始圖標的設(shè)置?!遍_發(fā)者需要按照要求添加一個一鍵恢復(fù)原始圖標的功能,否則會收到拒審郵件。