iOS - 如何以编程方式 set/change/reset 应用程序图标?

iOS - How to set/change/reset Application Icons programatically?

我需要在 iOS 中以编程方式更改应用程序图标的颜色。

我正在开发基于主题的应用程序,我需要在应用程序的视觉内容上应用主题颜色,用户从颜色列表中选择。完整的应用程序运行良好(能够根据用户选择的主题更改所有组件的颜色)except application Icon.

Is there any way to change/reset application icon/image programmatically. Or I can change app icon/Image tint color?

这是同一个问题,有正面和负面的答案,而且都被点赞了。 (Can I change app icon programmatically)。它会造成混乱,无论是否可能。如果是,那我该怎么做?

注意: 我的要求与其他要求不同 questions/answers,我在应用程序中有一个颜色列表(大约 25 种),我需要更改图标颜色,根据用户从应用程序中选择的颜色。任何人都可以指导 utilize/use 一组应用程序图标并在其上应用不同颜色的正确方法吗?

可以从 iOS 10.3 更改 appIcon。为此,您需要在 info.plist 中将 supportsAlternateIcon 设置为 Yes。主要和次要图标都应添加到您应用的 Info.plist 文件的 CFBundleIcons 键中。

要调用 UIApplication 方法更改应用程序图标:

func setAlternateIconName(_ alternateIconName: String?,  completionHandler: ((Error?) -> Void)? = nil)

Reference