iOS10.3支持动态更换app的图标,以前每次节日性的更换app图标,都得提交审核,现在不需要啦。
这个API是UIApplication 的对象方法,如图:
WX20170406-102059.png
首先得在Plist文件中添加需要替换的app icon名称,用 CFBundleIcons 键声明 primary 和
alternate 图标。如下:
<key>CFBundleIcons</key>
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>NewIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>NewIcon</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
</dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Icon</string>
</array>
</dict>
</dict>
NewIcon就是替换的新图标的名称。
最后上代码:
-(void)Test
{
if ([UIApplication sharedApplication].supportsAlternateIcons)//判断是否支持更换图标
{
//应用是否更新过图标
NSString *hasChangedICon = [[UIApplication sharedApplication] alternateIconName];
if (hasChangedICon) {
//setAlternateIconName如果是nil,默认是原图标
[[UIApplication sharedApplication] setAlternateIconName:nil completionHandler:^(NSError * _Nullable error) {
}];
}
else
{
//setAlternateIconName是NewIcon,使用新图标
[[UIApplication sharedApplication] setAlternateIconName:@"NewIcon" completionHandler:^(NSError * _Nullable error) {
}];
}
}
}
网友评论