iOS 动态更换app图标(AppIcon)

        在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)。

info.plist中配置

3、更换AppIcon图标

代码示例
系统API

4、运行结果

        每次更换成功都有弹框提示

5、去掉弹框

        在设置icon的时候,会有个系统弹框,这样不太友好,把调用setAlternateIconName的代码注释,换成如下代码。

你可能感兴趣的:(iOS 动态更换app图标(AppIcon))