Szy*_*n W 7 swift swift-package-manager swiftui
我有以下(屏幕截图)项目设置。基本上是简单的应用程序,其中一些SwiftUI 视图放置在本地 SPM 包中。
当我为真实设备/模拟器构建应用程序时,一切都很好,所有资源都已正确加载。位于本地包中的SwiftUI预览无法显示主包中的图像 (屏幕截图)。
我想知道是否有某种方法可以将主捆绑包资源加载到 SwiftUI 预览中。
您需要将资产添加到包库而不是主要目标中。
注意bundle: .module
中的参数Image
。这是必要的,以便系统知道您的目标目标是哪个目标,在本例中是库包(模块)。
这适用于设备和预览。
对我来说,当您从单独的库访问应用程序包中的资产时,这有点深奥。
库资源应该真正存在于库本身中,否则库与应用程序就没有完全分离。
如果您曾经在不同的目标或应用程序中使用该库,则需要确保该资源也被复制到那里。
这就是Package.swift
必须的样子:
import PackageDescription
let package = Package(
name: "MyLibrary",
platforms: [.iOS(.v13)],
products: [
// Products define the executables and libraries a package produces, and make them visible to other packages.
.library(
name: "MyLibrary",
targets: ["MyLibrary"]),
],
dependencies: [
// Dependencies declare other packages that this package depends on.
// .package(url: /* package url */, from: "1.0.0"),
],
targets: [
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
// Targets can depend on other targets in this package, and on products in packages this package depends on.
.target(
name: "MyLibrary",
dependencies: [],
resources: [.copy("Assets.xcassets")]
)
]
)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1748 次 |
最近记录: |