使用 Swift 包管理器
您实际上不需要工作区来执行此操作。您可以只使用 Xcode 项目。我目前正在为我正在进行的一个项目这样做。
RootProjectFolder
- Core // Swift Package
- DataAccess // Swift Package
- Http // Swift Package
- ApplicationServices // Swift Package
- Presenters // Swift Package
- App/
- AppTests/
- App.xcodeproj
每个包都使用Core,DataAccess中的Http,ApplicationServices中的DataAccess,Presenter中的ApplicationServices,app中的Presenter。
要创建这样的设置,请打开您的工作区或 Xcode 项目单击文件并创建一个新的 swift 包。将该包保存在应用程序的目录中,并将其链接到您要使用的项目或工作区。
如果你这样做几次,你可以开始引用其他本地 swift 包,如下所示:
let package = Package(
name: "ApplicationServices",
products: [.library(
name: "ApplicationServices",
targets: ["ApplicationServices"]),
],
dependencies: [
// NOTE that we can use a relative path to link
// to include the other local packages.
.package(name: "DataAccess", path: "../DataAccess"),
.package(name: "Core", path: "../Core"),
// Or the traditional way of pulling down a remote package
.package(url: "https://github.com/some-swift/testing-package", .upToNextMajor(from: "9.0.0"))
],
targets: [
.target(
name: "ApplicationServices",
// This is where you tell the swift package to use a dependency
dependencies: ["DataAccess", "Core"]), the
.testTarget(
name: "ApplicationServicesTests",
dependencies: ["ApplicationServices", "DataAccess", "Core", "TestingPackage"]),
]
)
然后使用本地包,我们包含它与远程 swift 包略有不同。单击文件导航中的项目,选择应用程序目标,然后在框架、库和嵌入式内容中的常规下单击+ 按钮。您应该能够选择您关心的本地包。
如果您需要更清楚地描述的任何内容,请告诉我。