【问题标题】:Adding support for SwiftPM to Swift Library向 Swift 库添加对 SwiftPM 的支持
【发布时间】:2020-04-21 09:40:14
【问题描述】:

过去一小时左右,我一直在研究如何将 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 支持,请帮帮我。我错过了一些东西,但我不能指望它。 任何帮助或指示将不胜感激。

非常感谢您阅读我的帖子。

【问题讨论】:

    标签: ios swift swift-package-manager


    【解决方案1】:

    我认为这可能是由于以下原因之一:

    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:.省略了这个特殊的包 注释将默认为工具版本 3.1.0。

    【讨论】:

      猜你喜欢
      • 2011-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-03
      • 1970-01-01
      相关资源
      最近更新 更多