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

标签 ios swift xcode swiftui swift-package-manager

我想知道是否有人在使用 Swift 包管理器时获得了 SwiftUI 预览以使用本地镜像 Assets 。

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

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

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

最佳答案

当你在一个包里面时,你需要传入bundle,因为它默认是main,没有main 在一个模块中。

所以你需要使用 .module 作为 bundle :

Image("star_5", bundle: .module)

.module 是自动生成的资源。不用你手动写!


注意

如果您遇到此错误:

Type 'Bundle' has no member 'module'

关注 this instruction 让它为你的包自动构建

关于ios - 使用 Swift 包管理器时,图像未在 SwiftUI 预览中显示 - 在 Xcode 项目中工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64638850/

相关文章:

ios - 物理计算场景包后获取节点位置

iphone - 关于使用非原子和保留属性(property)

swift - 从另一个 viewController 访问信息

ios - Xcode:Instruments 4.0 需要 Mac OS X 10.7 Lion?

iphone - ios 配置门户中的 "Managed by Xcode"配置文件是什么?它是如何创建的?

ios - 在 iOS swift 中实现完成时出错

ios - CoreBluetooth - 在 iPhone 上实现的外围设备的通用访问(1800)?

Swift:防止玩家地址跟踪

swift - 如何对 Swift 定时器 Controller 进行单元测试?

xcode - Swift:条件绑定(bind)中的绑定(bind)值必须是可选的