1

在 iOS 10.3 Apple 添加了用于交替图标的 API。我需要将应用程序图标更改为运行时生成的图标。有没有办法CFBundleIcon在运行时生成以便我可以更改图标?

4

1 回答 1

0

在信息 plist 中进行更改:-

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

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

目标c:-

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

迅速:

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

}

于 2020-02-21T18:55:27.643 回答