是否允许让备用应用程序图标变为动态?
Posted
技术标签:
【中文标题】是否允许让备用应用程序图标变为动态?【英文标题】:Is it allowed to let the alternate app icon to be dynamic? 【发布时间】:2018-02-18 18:03:46 【问题描述】:自 ios 10.3 发布以来,Apple 添加了一项新功能,允许我们使用 setAlternateIconName(_:completionHandler:)
方法动态更改应用程序图标。到目前为止,如方法文档中所述,我们必须在项目 .plist 文件中提及备用应用程序图标的名称,分配给 CFBundlePrimaryIcon
键。
实际上,当使用 static 图标(已直接添加到应用程序主包中的图标)时,它可以正常工作,没有任何问题:
我的问题是:
是否有可能 - 或者是否有解决方法 - 动态地 设置备用应用程序图标(例如:已从网络下载并保存在应用程序 documents
目录中的图标)?
【问题讨论】:
【参考方案1】:我认为不可能。
setAlternateIconName(_:completionHandler:) API 会在 app bundle 中查找图标,并且无法更改为从沙盒中获取。
此外,Apple 很可能会审查您捆绑的应用程序图标,以避免使用相同的应用程序图标或与 Apple 应用程序相似的图标。
参考:https://www.hackingwithswift.com/example-code/uikit/how-to-change-your-app-icon-dynamically-with-setalternateiconname
【讨论】:
感谢您的回答。 “setAlternateIconName(_:completionHandler:) API 会在 app bundle 中查找图标,并且无法更改为从沙盒中获取”,您能否为其添加参考? @AhmadF:我已经包含了来自 hackingswift 的博客链接。我也在查看 Apple 文档。我也会将其包含在我的答案中。我很确定它不能完成。 我正在考虑它,即使作为一种解决方法它也可能行不通...在某些时候,您必须在项目 plist 中提及图标名称,这可能无法完成在运行时。如果你能从苹果那里找到提到这一点的参考资料,我会很棒...... @AhmadF:即使您可以在运行时提供名称,您也需要将图标与应用程序捆绑在一起。我希望苹果将来会重新考虑这一点,但目前不可能。 如果你想为官方添加参考,我很乐意接受:)以上是关于是否允许让备用应用程序图标变为动态?的主要内容,如果未能解决你的问题,请参考以下文章