web-dev-qa-db-ja.com

iOS 10.3-プログラムでアプリアイコンを変更する方法

iOS 10.3には、動的なアプリアイコン変更機能が付属しています。開発者は、アプリを更新せずにアプリのアイコンを変更できるようになります。

アプリアイコンを動的に変更したいのですが、プログラムでアプリアイコンを変更するにはどうすればよいですか。

前もって感謝します。

9
Gison George

はい、iOS 10.3により、開発者はアプリのアイコンをプログラムで変更できるようになりました。

AppIconをiOS10.3から変更することが可能です。そのためには、supportsAlternateIconinfo.plistYesに設定する必要があります。

プライマリアイコンとセカンダリアイコンの両方を、アプリの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...");
}];

Swift 3:

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

詳細なチュートリアルについては、以下を参照してください。
Appleドキュメント:setAlternateIconName(_:completionHandler:)
setAlternateIconName()を使用してアプリのアイコンを動的に変更する方法

10
Krunal