iOS 10.3的图标应用内更换

iOS 10.3新增了应用内更换APP Icon的功能,今天我们就来简单学习一下。

官方文档介绍

文档中说你需要在info.plist里面配置好IconsFiles


iOS 10.3的图标应用内更换_第1张图片
info.plist配置示例
  • Primary Icon:主要图标
    • Icon files:图标数组
    • Icon already includes gloss effects:图标已经包括光亮效果
  • CFBundleAlternateIcons:包含有关应用程序所使用的所有图标的信息。此键允许您根据其预期的使用组合图标,并指定多个图标文件,并使用特定的键来修改这些图标的外观。(当有多个备选图标时,在该数组下面增加多个Dictionary)
    • NoImagePlac(Dictionary):图标字典,以图片名称作为字典名(setalternateiconname:completionhandler函数中的Name必须是和改字典名称一致的才能生效)
      • CFBundleIconFiles:用于指定捆绑图标图像文件的文件名的顶级键
      • UIPrerenderedIcon:图标文件是否已包含光亮效果,如果有了,苹果就不会给你加光亮效果(不设置或者为NO时会给你加上闪烁效果)。

官方文档注释内容链接

官方文档链接地址

iOS 10.3的图标应用内更换_第2张图片
官方文档截图

具体实现

一. 在Assets中为应用设置一个AppIcon
二. 依照上面的Info.plist来配置CFBundleAlternateIcons
被切换的图标图片必须放在工程里面,放在Assets无效。
三. 使用代码进行切换

    //判断是否支持切换图标
    if ([UIApplication sharedApplication].supportsAlternateIcons) {
       [[UIApplication sharedApplication] setAlternateIconName:@"NoImagePlac" completionHandler:^(NSError * _Nullable error) {
           NSLog(@"%@",error);
       }];
    }

这样设置过后将会弹出一个提示框来提示你修改成功。

完整代码

Demo地址

你可能感兴趣的:(iOS 10.3的图标应用内更换)