【问题标题】:iOS 10.3 - How to change app icon programmatically [duplicate]iOS 10.3-如何以编程方式更改应用程序图标[重复]
【发布时间】:2017-08-31 05:09:10
【问题描述】:

iOS 10.3 带有动态应用图标更改功能。开发者现在无需更新应用即可更改应用图标。

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

提前致谢。

【问题讨论】:

标签: ios objective-c swift ios10.3 appicon


【解决方案1】:

是的,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>

要改变 App Icon 需要调用 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 ?? "")
        })
}

更详细的教程见:
Apple Document: setAlternateIconName(_:completionHandler:)
How to change your app icon dynamically with setAlternateIconName()

【讨论】:

    猜你喜欢
    • 2017-09-28
    • 2020-12-31
    • 2014-03-07
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 2012-09-29
    相关资源
    最近更新 更多