cha*_*_vi 3 xcode ios swift swift-package-manager swiftui
我正在尝试构建一个利用 SwiftUI 创建图表数据可视化的 Swift 包。我的理解是,在开发过程中,我可以在 Xcode 中使用 SwiftUI 的热重载来预览包中的组件,但是当我尝试恢复预览时,出现错误“无法在此文件中预览 -发生意外错误”诊断显示以下错误。
UVKit.XcodeWorkspaceBuildEnvironment。(141a48360 美元的未知上下文)。(141a48368 美元的未知上下文)。ValidationError.noWorkspaceArena)
GenericHumanReadableError:发生意外错误
noWorkspaceArena
这就是我的看法。
import SwiftUI
public struct PieChartView : View {
public var data: [(Double, Color)]
public var title: String
public init(data: [(Double, Color)], title: String) {
self.data = data
self.title = title
}
public var body: some View {
Text(title)
}
}
#if DEBUG
struct PieChartView_Previews : PreviewProvider {
static var previews: some View {
PieChartView(data:[(56.0, Color.red),(78, Color.blue),(53, Color.green)], title: "Title")
}
}
#endif
Run Code Online (Sandbox Code Playgroud)
这是我的包裹
import PackageDescription
let package = Package(
name: "MesmerCharts",
platforms: [
.iOS(.v13)
],
products: [
// Products define the executables and libraries produced by a package, and make them visible to other packages.
.library(
name: "MesmerCharts",
targets: ["MesmerCharts"]),
],
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 which this package depends on.
.target(
name: "MesmerCharts",
dependencies: []),
.testTarget(
name: "MesmerChartsTests",
dependencies: ["MesmerCharts"]),
]
)
Run Code Online (Sandbox Code Playgroud)
为了解决我的问题,我创建了一个 .xcworkspace 来包含我的“测试应用程序”和我的 Swift 包。为此,您可以执行以下步骤:
边注
每当 Swift 包更新时,您都需要重新构建它,然后才能在测试应用程序中使用它。
归档时间: |
|
查看次数: |
332 次 |
最近记录: |