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

时间:2019-04-03 17:35:04

标签: swift macos swift-package-manager

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

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

Swift软件包管理器也可用于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)

1 个答案:

答案 0 :(得分:3)

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

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