将应用程序图标更改为在iOS中生成的图标

问题描述 投票:1回答:1

[在iOS 10.3中,Apple添加了API for alternating icon。我需要将应用程序图标更改为运行时生成的图标。有没有一种方法可以在运行时生成CFBundleIcon,以便可以更改图标?

ios cocoa-touch ios10.3
1个回答
0
投票

更改信息列表:-

<key>CFBundleIcons</key>
<dict>
    <key>CFBundleAlternateIcons</key>
    <dict>
        <key>ALTERNATE_APP_ICON_NAME</key>
        <dict>
            <key>CFBundleIconFiles</key>
            <array>
                <string>ALTERNATE_APP_ICON_NAME</string>
            </array>
            <key>UIPrerenderedIcon</key>
            <false/>
        </dict>
    </dict>
    <key>CFBundlePrimaryIcon</key>
    <dict>
        <key>CFBundleIconFiles</key>
        <array>
            <string>AppIcon60x60</string>
        </array>
    </dict>
</dict>

一旦您在信息列表中进行了更改。您需要添加以下代码:

目标c:-

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

Swift:

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

}

© www.soinside.com 2019 - 2024. All rights reserved.