使用 Swift 包管理器时图像未显示在 SwiftUI 预览中 - 在 Xcode 项目中工作正常

Image not showing in SwiftUI preview when using Swift Package Manager - works fine in Xcode project

我想知道是否有人在使用 Swift 包管理器时 SwiftUI 预览以使用本地图像资产。

我没有做任何花哨的事情。我有一个包含一些图片的资产目录,我的视图看起来像

public var body: some View {
    Image("star_5")
        .resizable()
        .scaledToFit()
}

当我创建一个依赖于这个 swift 包的 Xcode 项目时,我可以引用那里定义的预览并且 SwiftUI 正确显示它们。

在包里面的时候,需要传入bundle,因为默认是main,模块里面没有main

因此您需要使用 .module 作为捆绑包:

Image("star_5", bundle: .module)

.module 是自动生成的资源。无需手动编写!


备注

如果您遇到此错误:

Type 'Bundle' has no member 'module'

关注 让它自动为您的包构建