无法从 SwiftUI 框架中的资产目录访问的图像

Posted

技术标签:

【中文标题】无法从 SwiftUI 框架中的资产目录访问的图像【英文标题】:Images inaccessible from asset catalog in a SwiftUI framework 【发布时间】:2020-04-27 13:18:07 【问题描述】:

我创建了一个包含单个 SwiftUI Viewios 框架。然后我添加了一个带有单个图像的资产目录。尝试从 SwiftUI 视图访问该图像没有任何作用 - 我看到一个空白图像。

Image("MyImage")

Xcode Preview 不显示任何内容,视图也不显示我编写的使用该框架的测试目标的任何内容。

所以问题是 - 如何将图像与使用 SwiftUI 的框架捆绑在一起?这不支持吗?我可以让它工作的唯一方法是将图像移动到测试目标的资产目录中。不幸的是,这意味着我在开发框架时无法预览我正在处理的设计。

【问题讨论】:

【参考方案1】:

默认

Image("MyImage")Image("MyImage", bundle: Bundle.main)

即。在应用程序包中。

您必须明确指定资产目录所在的(框架的)捆绑包,如

Image("MyImage", bundle: bundle)

bundle 以通常的方式通过类或标识符实例化。

【讨论】:

天啊..谢谢!这让我发疯了! 你是真正的 MVP 伙伴。这是如何指定你的 bundle: Image("image_name", bundle: Bundle(identifier:"com.framework.identifier")) 非常感谢!!搜索这个答案太久:(

以上是关于无法从 SwiftUI 框架中的资产目录访问的图像的主要内容,如果未能解决你的问题,请参考以下文章

为啥我无法加载位于资产目录中的图像?

从项目导入时,Xcode 图像资产目录无法看到所有图像?

UIWebView 中的资产目录图像

从资产中检索文件名到数组中

如何在 watchOS 应用程序的共享框架中访问资产目录中的颜色?

从 Vue 访问 CakePHP webroot 目录:图像加载