iOS App应用程序图标的动态更换

96
__Mr_Xie__
1.5 2019.01.16 20:45* 字数 528

前言

在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 性能考虑

日记本