Swift:如何避免执行版本检查

时间:2017-10-01 16:28:25

标签: swift macos swift-package-manager

我正在构建一个Swift库。在我的库中,我定义了一个包含DateInterval的结构。

struct A {
    let date = DateInterval()
}

但是,在尝试构建我的库时,收到以下错误:

  

'DateInterval'仅适用于OS X 10.12或更高版本

所以我在结构中添加了@available(OSX 10.12, *)属性。

现在的问题是,每当我创建结构的实例时,我都被迫执行版本检查:

if #available(OSX 10.12, *) {
    let foo = A()
} else {
    // Fallback on earlier versions
}

我不需要我的库在10.12之前的macOS版本上运行;是否有任何方法可以向编译器指出这一点,以便每次使用此结构时都不必执行繁琐的版本检查?

1 个答案:

答案 0 :(得分:2)

您应该将库的部署目标更改为项目设置中的macOS 10.12。

Deployment Target changed to 10.12