2017-04-05 92 views
4

iOS 10.3带有动态应用程序图标更改功能。开发人员现在可以在不更新应用程序的情况下更改应用程序图标。iOS 10.3 - 如何以编程方式更改应用程序图标

我想动态更改我的应用程序图标,如何以编程方式更改我的应用程序图标。

在此先感谢。

+2

https://developer.apple.com/reference/uikit/uiapplication/2806818-setalternateiconname? – Larme

回答

7

是的,iOS 10.3终于使开发人员能够以编程方式更改他们的应用程序的图标。

可以从iOS 10.3更改appIcon。为此,您需要在info.plist中将supportsAlternateIcon设置为Yes

主要和次要图标都应该添加到您的应用的Info.plist文件的CFBundleIcons密钥中。

//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> 

要改变应用图标以下UIApplication的方法需要被调用:

目标C:

[[UIApplication sharedApplication] setAlternateIconName:@"alternater2" completionHandler:^(NSError * _Nullable error) { 
     NSLog(@"Error..."); 
}]; 

夫特3:

if UIApplication.shared.supportsAlternateIcons{ 
     UIApplication.shared.setAlternateIconName("alternater2", completionHandler: { (error) in 
      print(error ?? "") 
     }) 
} 

有关更详细的导师IAL,请参阅:
Apple Document: setAlternateIconName(_:completionHandler:)
How to change your app icon dynamically with setAlternateIconName()

相关问题