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

Ene*_*nso 10 macos swift swift-package-manager

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

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

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

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

编译器错误示例:

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

Ale*_*lex 24

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

一种方法是使用SPM 中的部署设置