过去一个小时左右,我一直在研究如何将SwiftPM支持添加到开源库中。我开始模仿Alamofire的Package.swift文件。
// swift-tools-version:5.1
import PackageDescription
let package = Package(name: "MASegmentedControl",
platforms: [.iOS(.v10)],
products: [.library(name: "MASegmentedControl",
targets: ["MASegmentedControl"])],
targets: [.target(name: "MASegmentedControl",
path: "MASegmentedControl")],
swiftLanguageVersions: [.v4, .v4_2, .v5])但是,当我试图将它作为swift包添加到测试项目中时,我得到了如下所示的错误。

当我运行swift package tools-version时,我得到的输出是3.1.0。我正在运行Xcode 11.2.1。我还试着查看how to update swift package tool。我在上面找不到任何东西。我想知道你们中是否有人在自己的库中添加了对SwiftPM的支持,请帮助我。我遗漏了什么,但我不能确定。任何帮助或指点都将不胜感激。
非常感谢你阅读我的帖子。
发布于 2020-01-03 02:46:17
我认为这可能是由于以下原因之一:
1-关于文档,您可能需要删除"swiftLanguageVersions“键。
https://swift.org/blog/swift-package-manager-manifest-api-redesign/
工具版本还确定用于编译软件包源代码的默认Swift语言版本。现有的Swift 3包将在Swift 3兼容模式下编译。如果您不想要默认版本,您可以选择在Swift 3和Swift 4清单中使用swiftLanguageVersions属性来设置用于编译该包的语言版本。这意味着可以将包升级为使用较新的清单格式,而无需将其源代码升级到Swift 4。
2-确保注释行的格式如下:
// swift-tools-version:5.1
import PackageDescription// swift-tools-version:忽略此特殊注释的包默认为tools版本3.1.0。
https://stackoverflow.com/questions/59568158
复制相似问题