前言
在iOS 10.3之前读恃,App應(yīng)用程序圖標(biāo)更新必須通過向 Apple 提交 ipa 包才能實(shí)現(xiàn),但是在iOS 10.3之后低缩,蘋果官方提供了相關(guān)的API來實(shí)現(xiàn)這個功能堪旧,再配合公司后臺接口,就能實(shí)現(xiàn)App應(yīng)用程序圖標(biāo)的動態(tài)更換辛润。
API膨处,如下圖:
具體步驟
一、配置App應(yīng)用程序圖標(biāo)
(1)導(dǎo)入圖片資源砂竖;
注:動態(tài)更換的應(yīng)用程序圖標(biāo)是不能放在 Assets.xcassets 里真椿,但是正常顯示的應(yīng)用程序圖標(biāo)還是可以放在 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****:用于設(shè)置app的主icon解恰,可以在這里的Icon files數(shù)組內(nèi)添加锋八,有多個的話,依次添加护盈;當(dāng)然這里也可以不用填寫挟纱,直接在Assets.xcassets 里配置;
UINewsstandIcon -> Newsstand Icon:暫時用不到腐宋,不用管紊服,也可以刪除;
CFBundleAlternateIcons:key值CFBundleAlternateIcons需要自己手動添加的 胸竞,類型為字典欺嗤,在這個字典里配置所有需要動態(tài)修改的icon:鍵為icon的名稱,值為一個字典(這個字典里包含兩個鍵:CFBundleIconFiles卫枝,其值類型為Array煎饼,內(nèi)容為icon的名稱;UIPrerenderedIcon校赤,其值類型為bool吆玖,內(nèi)容為NO,也可以不加此key)马篮;
注:CFBundleIconFiles里面可以放多個尺寸的圖片衰伯。
二、示例代碼
三积蔚、運(yùn)行結(jié)果
每次更換成功都有彈框提示意鲸,提示如下圖:
更多文章
CocoaPods開源庫的搭建
CocoaPods搭建私有庫
CocoaPods搭建私有庫遇到問題
CocoaPods私有庫的升級維護(hù)
SKStoreReviewController之程序內(nèi)評價
App應(yīng)用程序圖標(biāo)的動態(tài)更換
開源框架 MGJRouter_Swift
iOS的MVP設(shè)計模式
iOS插件化
iOS FMDB的使用
Swift之ReactiveSwift
OC之ReactiveCocoa
OC之ReactiveCocoa進(jìn)階
iOS 性能考慮