Gis*_*rge 7 objective-c ios swift ios10.3 appicon
iOS 10.3带有动态应用图标更改功能.开发人员现在可以在没有应用更新的情况下更改应用图标.
我想动态更改我的应用程序图标,如何以编程方式更改我的应用程序图标.
提前致谢.
Kru*_*nal 10
是的,iOS 10.3最终使开发人员能够以编程方式更改其应用程序的图标.
可以从iOS 10.3更改appIcon.对于您需要设置 supportsAlternateIcon 到 Yes 在info.plist.
主要和辅助图标都应添加到CFBundleIcons应用程序Info.plist文件的密钥中.
//Info.plist
<key>CFBundleIcons</key>
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>Icon1</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>alternater1</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
<key>Icon2</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>alternater2</string>
</array>
</dict>
</dict>
</dict>
Run Code Online (Sandbox Code Playgroud)
要在UIApplication方法之后更改App Icon,需要调用:
目标C:
[[UIApplication sharedApplication] setAlternateIconName:@"alternater2" completionHandler:^(NSError * _Nullable error) {
NSLog(@"Error...");
}];
Run Code Online (Sandbox Code Playgroud)
斯威夫特3:
if UIApplication.shared.supportsAlternateIcons{
UIApplication.shared.setAlternateIconName("alternater2", completionHandler: { (error) in
print(error ?? "")
})
}
Run Code Online (Sandbox Code Playgroud)
有关更详细的教程,请参阅:
Apple Document:setAlternateIconName(_:completionHandler :)
如何使用setAlternateIconName()动态更改应用程序图标