我想动态更改应用程序图标。我从服务器接收到图片。如何将该图像用作替代应用程序图标。请确保答案清晰易懂。(但是据我所知,备用应用程序图标文件应在我们项目的plist文件中)。
提前致谢。
提前致谢。
您无法在运行时使用从服务器下载的图像更改应用程序图标。来自文档:
您必须使用应用程序的
Info.plist
文件的CFBundleIcons
键声明应用程序的主要和备用图标。有关如何为应用程序配置备用图标的信息,请参阅Information Property List Key Reference中CFBundleIcons
键的描述。
为了动态设置应用程序图标,您必须能够在Info.plist
中定义它,但是您的Info.plist
包含在您的应用程序包中,并且您的应用程序包是只读的,因此您没有运行时写入访问您的Info.plist
文件。因此,您无法将应用程序图标更改为在运行时动态下载的图像。
Info.plist
中列出一个名称,而且我不认为iOS会检查你的应用程序的运行时可写目录。 - Michael Huletvar supportsAlternateIcons: Bool { get }
var alternateIconName: String? { get }
func setAlternateIconName(String?, completionHandler: ((Error?) -> Void)? = nil)
现在我们只需要调用这个方法:changeIcon(to: "icon-imageName")