2017-04-05 4 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を変更することは可能です。そのためにはsupportsAlternateIconYesinfo.plistに設定する必要があります。

アプリの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メソッド以下のアプリのアイコンを変更するには、呼び出される必要があります。

のObjective 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()

関連する問題