这是不是可以将替代图标应用于 iOS 应用程序?
Posted
技术标签:
【中文标题】这是不是可以将替代图标应用于 iOS 应用程序?【英文标题】:Is this possible to apply the alternative icon to the iOS application?这是否可以将替代图标应用于 iOS 应用程序? 【发布时间】:2017-06-16 12:01:17 【问题描述】:我需要根据地区更改应用图标,可以吗?
【问题讨论】:
【参考方案1】:是的,从 iOS 10.3 开始可以做到这一点。
首先,您需要在 Info.plist 文件中定义所有替代图标,您无法动态获取它们。
在下面的示例中,我们定义了 2 个替代图标:“de”和“fr”:
<key>CFBundleIcons</key>
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>de</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>ic_de</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
<key>fr</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>ic_fr</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
</dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>ic_none</string>
</array>
</dict>
</dict>
然后您可以根据您喜欢的任何内容(游戏进度、天气状况、高级用户等)设置图标名称。要更改图标使用:
UIApplication.shared.setAlternateIconName("de") (error) in
if let error = error
print("err: \(error)")
// icon probably wasn't defined in plist file, handle the error
结果:
gif 来自a Medium article by Julien Quéré。
【讨论】:
主键:在 .xcassets 文件夹之外添加您的备用应用程序图标图像。 您可以更改的图像数量是否有限制? @KlimczakM @Pavan,完全没有限制。唯一的限制是你的包里有什么。【参考方案2】:10.3(测试版)
中提供此功能讨论 使用此方法将应用程序的图标更改为其主图标或其中一个备用图标。只有在 supportsAlternateIcons 属性的值为 true 时才能更改图标。
您必须使用应用的 Info.plist 文件的 CFBundleIcons 键声明应用的主图标和备用图标。有关如何为您的应用配置备用图标的信息,请参阅信息属性列表键参考中对 CFBundleIcons 键的说明。
看看:
apple documentation
【讨论】:
以上是关于这是不是可以将替代图标应用于 iOS 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章