使用“Assets.xcassets”中的图像文件以编程方式更改 iOS 应用程序图标

Posted

技术标签:

【中文标题】使用“Assets.xcassets”中的图像文件以编程方式更改 iOS 应用程序图标【英文标题】:Use image file from "Assets.xcassets" for changing iOS app icon programmatically 【发布时间】:2021-10-21 15:50:05 【问题描述】:

我正在尝试开发图标更改功能,我打算使用来自Assets.xcassets 的图像作为应用图标图像。

在将CFBundleAlternateIcons 数据添加到info.plist 后,我尝试使用setAlternateIconName(_:completionHandler:) 更改应用程序图标 但是 Xcode 和 ios 系统无法检测到来自Assets.xcassets 的图像文件。 我想使用来自Assets.xcassets 的图像作为应用程序图标。有什么办法吗?

提前致谢

【问题讨论】:

“动态应用图标”是什么意思?您打算在哪个阶段更改图标? @ElTomato 我的意思是“以编程方式更改应用程序图标”我想通过用户交互来完成这项任务。例如“当用户按下某个按钮时应用程序图标发生变化”抱歉信息不足 几周前我看到了同样的话题。我认为答案是否定的。不过,您可能想自己搜索一下。 我希望有办法做到这一点。感谢您的回答 【参考方案1】:

不,您不能为此使用资产。但是,如果您的目的是为设备调整图像。只需添加一个后缀(例如 -@1x.png 、 -@2x.png 、 -@3x.png )

Check this link for details

【讨论】:

以上是关于使用“Assets.xcassets”中的图像文件以编程方式更改 iOS 应用程序图标的主要内容,如果未能解决你的问题,请参考以下文章

ARKit 图像检测和从 Assets.xcassets 添加图像

Apple watch 多个 Assets.xcassets 文件夹的用途

从 Assets.xcassets 加载图像时 iOS 应用程序崩溃

Assets.xcassets - 通用不工作

Assets.xcassets 应用

Cocoapods:包含资源文件夹 Assets.xcassets 的 pod 出现问题