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

前言

在iOS 10.3之前,App应用程序图标更新必须通过向 Apple 提交 ipa 包才能实现,但是在iOS 10.3之后,苹果官方提供了相关的API来实现这个功能,再配合公司后台接口,就能实现App应用程序图标的动态更换。

API,如下图:

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

具体步骤

一、配置App应用程序图标

(1)导入图片资源;

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

注:动态更换的应用程序图标是不能放在 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

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

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里面可以放多个尺寸的图片。

二、示例代码

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

三、运行结果

每次更换成功都有弹框提示,提示如下图:

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

小礼物走一走,来简书关注我

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

上一篇:适用于移动设备弹性布局的js脚本(rem单位)


下一篇:C++:UNREFERENCED_PARAMETER用法