技巧iOS Developer

iOS10.3动态更换App Icon

2017-04-06  本文已影响164人  KChuck
iOS10.3支持动态更换app的图标,以前每次节日性的更换app图标,都得提交审核,现在不需要啦。
这个API是UIApplication 的对象方法,如图:
WX20170406-102059.png
首先得在Plist文件中添加需要替换的app icon名称,用 CFBundle​Icons 键声明 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) {
                
            }];
        }  
    }
}


上一篇 下一篇

猜你喜欢

热点阅读