可以让备选应用图标变成动态的吗?

3
自从发布iOS 10.3以来,苹果增加了一个新功能,允许我们使用setAlternateIconName(_:completionHandler:)方法动态更改应用程序图标。截至目前,在该方法文档中提到,我们必须在项目.plist文件中提及替代应用程序图标的名称,分配给CFBundlePrimaryIcon键。
实际上,当使用静态图标(直接添加到应用程序主包中的图标)时,它可以正常工作而没有任何问题:

enter image description here

我的问题是:
是否有可能 - 或者是否有解决方法 - 动态设置备用应用程序图标(例如:从网络下载并保存在应用程序“文档”目录中的图标)?
1个回答

3

1
谢谢您的回答。"setAlternateIconName(_:completionHandler:) API在应用程序包内查找图标,无法更改为从沙盒中获取",您能否为此添加一个参考文献? - Ahmad F
@AhmadF:我已经包含了一个来自hackingswift的博客链接。我也在查看苹果文档。我会在我的回答中包含它。但我相当确定这是不可能完成的。 - Puneet Sharma
我在思考,即使作为一种解决方法,它可能也行不通...在某个时候,你必须在项目的plist中提到图标名称,这可能无法在运行时完成。如果您能找到苹果提到这一点的参考资料,那就太好了。 - Ahmad F
@AhmadF:即使您可以在运行时提供名称,您仍需要将图标与应用程序捆绑在一起。我希望苹果公司未来会重新审视这个问题,但目前还不可能。 - Puneet Sharma
如果您能为某些官方内容提供参考资料,我将非常乐意接受它 :) - Ahmad F
@AhmadF,我也一直在寻找解决方法,我想到的是将文件图标文件名设置为静态的(如icon1、icon2),并在运行时覆盖图标,或删除先前的图标并设置新的图标,但由于我只能下载到documentDirectory中,所以一直失败了:)你现在有解决方案或解决方法吗? - judge

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接