? ? ? ? 在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的代码注释,换成如下代码。