? ? ? ? 在iOS 10.3之前,App應用程序圖標更新必須通過向 Apple 提交 ipa 包才能實現,但是在iOS 10.3之后,蘋果官方提供了相關的API來實現這個功能,再配合后臺接口,就能實現App應用程序圖標的動態更換。
該方法只能在系統版本iOS10.3及以上版本才可以使用。
1、設置項目的主app圖標。方式和正常設置AppIcon方式一樣。
2、配置需要動態展示的App圖標圖片
????2.1添加圖片
注:動態更換的應用程序圖標是不能放在 Assets.xcassets 里,但是正常顯示的應用程序圖標還是可以放在Assets.xcassets 里;
2.2 配置info.plist文件
????????在info.plist中,添加Icon files(iOS 5),這里的Icon files(iOS 5)是個字典,其中默認包含兩個Key值,分別是:
????????Primary Icon(主icon):設置app的主icon,可以在這里的Icon files數組內添加,有多個的話,依次添加,也可以這里不用填寫,直接在Assets.xcassets 里配置;
????????Newsstand Icon(期刊icon):設置所有用戶訂閱的報刊和雜志類的圖標,目前我們用不到,先不用管。
????????在 Icon files(iOS 5)內添加一個Key:CFBundleAlternateIcons ,類型為字典。
????????在這個字典里配置我們所有需要動態修改的icon:鍵為icon的名稱,值為一個字典(這個字典里包含兩個鍵:CFBundleIconFiles,其值類型為Array,內容為icon的名稱;UIPrerenderedIcon,其值類型為bool,內容為NO,也可以不加此key)。
3、更換AppIcon圖標
4、運行結果
????????每次更換成功都有彈框提示
5、去掉彈框
????????在設置icon的時候,會有個系統彈框,這樣不太友好,把調用setAlternateIconName的代碼注釋,換成如下代碼。