swift - 使用 Swift 5 为 Swift Package Manager 指定最低 macOS 版本

标签 swift macos swift-package-manager

为了在不添加 #if available 的情况下使用 SwiftPM 编译一些代码,我正在使用以下参数构建项目:

swift build -Xswiftc "-target"-Xswiftc "x86_64-apple-macosx10.11"

Swift Package Manager 也适用于 Xcode .xcconfig 文件,但仅限于生成 Xcode 项目时。

在使用 swift build 从命令行构建时,Swift 5 中是否有一种简单的方法来指定 macOS 的最低版本?

编译错误示例:

error: 'archivedData(withRootObject:)' is only available on OS X 10.11 or newer
        let data = NSKeyedArchiver.archivedData(withRootObject: value)

最佳答案

let package = Package(
    name: "NAME",
    platforms: [
        .macOS(.v10_11)
    ],
    products: [
        .library(name: "NAME", targets: ["NAME"]),
    ],
    targets: [
        .target(name: "NAME"),
    ]
)

一种方法是使用 Deployment Settings在 SPM 中。

关于swift - 使用 Swift 5 为 Swift Package Manager 指定最低 macOS 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55501077/

相关文章:

cocoa - 移动无边框 NSWindow 完全被 Web View 覆盖

macos - 在 Visual Studio for Mac 上运行 xUnit

ios - 如何使用 SPM 和 Xcode11 将二进制文件与库链接

ios - 以编程方式向cgpointmake或cgpoint提供参数以从坐标对创建cgpoint

ios - Swift Make For Loop 等待异步函数结束

ios - 信任 iOS 13 上基于 TLS 的 WebSocket 的自签名证书

ios - 如何使用CoreData对某些操作/实体禁用NSUndoManager?

ios - 代码 : missing required module error

swift-package-manager - 如何在没有 git 存储库的情况下使用本地 SPM 包?

自定义类型的 Swift 字典初始化给出 : '>' is not a postfix unary operator error