【发布时间】:2019-12-28 18:12:43
【问题描述】:
我有一个包含多个目标的项目,例如一个 iOS 应用、一个 watchOS 应用和一些框架。如何将相同的 Swift 包分配给我的所有目标? Xcode 只让我选择一个:
如果我尝试再次添加 Swift 包以便尝试将其分配给项目中的另一个目标,则会收到错误消息:
这样做的正确方法是什么?下面是 Swift 包中的包清单。在那方面有什么事情要做,或者我必须在 Xcode 中做一些不同的事情吗?
import PackageDescription
let package = Package(
name: "Alamofire",
platforms: [
.macOS(.v10_12),
.iOS(.v10),
.tvOS(.v10),
.watchOS(.v3)
],
products: [
.library(
name: "Alamofire",
targets: ["Alamofire"])
],
targets: [
.target(
name: "Alamofire",
path: "Source")
],
swiftLanguageVersions: [.v5]
)
【问题讨论】:
-
我目前的解决方法是将通用 Swift Package 依赖项生成的 Xcode 项目拖放添加为 iOS 和 macOS 顶级项目的子项目。 (...仍在 Xcode 10 上)...在 Vapor server and companion iOS app examples 上讨论一些方法。
-
这是苹果公司的一个巨大疏忽。两年后,Swift Package Manager 仍然是 Xcode 的 default 项目类型 - Multiplatform App 中的非入门者。
标签: swift xcode11 swift-package-manager