首页 > 解决方案 > 在 Xcode 项目和 Swift 包之间共享包

问题描述

我正在尝试在我的 Xcode 项目的目标和 Swift 包(同一项目的一部分)之间共享依赖关系,但是动态和静态目标都出现重复符号错误。

我有 3 个目标:App- Cocoa Touch、Module A- 静态框架、Module B- 静态框架和一个名为shared(生成静态库)的 Swift 包。

我正在尝试RxSwift在所有目标和shared包之间共享。

有什么推荐的方法吗?另外,我很好奇是否更推荐使用动态或静态框架。

这就是我的项目的样子:

在此处输入图像描述

下面是依赖图的样子:

这是我的Package.swift

let package = Package(
name: "ApiClient",
platforms: [.iOS(.v12)],
products: [
    .library(name: "ApiClient", targets: ["ApiClient"]),
],
dependencies: [
    .package(url: "https://github.com/ReactiveX/RxSwift.git", from: "5.0.0"),
],
targets: [
    .target(name: "ApiClient", dependencies: ["...", "RxSwift"]),
    .testTarget(name: "ApiClientTests", dependencies: ["ApiClient"]),
]
)

我想要实现的是在我的 Swift 包和其他目标中重用 RxSwift,但我得到 RxSwift 的重复符号错误。

标签: iosswiftswift-package-manager

解决方案


推荐阅读