iOS App應用程序圖標的動態更換

前言

在iOS 10.3之前,App應用程序圖標更新必須通過向 Apple 提交 ipa 包才能實現,但是在iOS 10.3之后,蘋果官方提供了相關的API來實現這個功能,再配合公司后臺接口,就能實現App應用程序圖標的動態更換。

API,如下圖:

具體步驟

一、配置App應用程序圖標

(1)導入圖片資源;

注:動態更換的應用程序圖標是不能放在 Assets.xcassets 里,但是正常顯示的應用程序圖標還是可以放在 Assets.xcassets 里;

(2)配置info.plist;

在info.plist中,添加Icon files(iOS 5),這里的Icon files(iOS 5)是個字典,其中包含的key值有:

CFBundlePrimaryIcon -> Primary Icon

CFBundleAlternateIcons

UINewsstandIcon -> Newsstand Icon

CFBundlePrimaryIcon -> Primary Icon****:用于設置app的主icon,可以在這里的Icon files數組內添加,有多個的話,依次添加;當然這里也可以不用填寫,直接在Assets.xcassets 里配置;

UINewsstandIcon -> Newsstand Icon:暫時用不到,不用管,也可以刪除;

CFBundleAlternateIcons:key值CFBundleAlternateIcons需要自己手動添加的 ,類型為字典,在這個字典里配置所有需要動態修改的icon:鍵為icon的名稱,值為一個字典(這個字典里包含兩個鍵:CFBundleIconFiles,其值類型為Array,內容為icon的名稱;UIPrerenderedIcon,其值類型為bool,內容為NO,也可以不加此key);

注:CFBundleIconFiles里面可以放多個尺寸的圖片。

二、示例代碼

三、運行結果

每次更換成功都有彈框提示,提示如下圖:

更多文章

CocoaPods開源庫的搭建
CocoaPods搭建私有庫
CocoaPods搭建私有庫遇到問題
CocoaPods私有庫的升級維護
SKStoreReviewController之程序內評價
App應用程序圖標的動態更換
開源框架 MGJRouter_Swift
iOS的MVP設計模式
iOS插件化
iOS FMDB的使用
Swift之ReactiveSwift
OC之ReactiveCocoa
OC之ReactiveCocoa進階
iOS 性能考慮

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容