Swift属性 - 按操作系统版本

时间:2018-06-14 18:13:16

标签: swift xcode deprecated

因此我们有能力在Swift中标记操作系统版本和更新版本,但我没有看到能够将操作系统版本和旧版本标记为不可用的功能。

例如,我可以将扩展标记为仅在watchOS 5.0及更新版本中可用,并说:

@available(watchOSApplicationExtension 5.0, *)
extension HKLiveWorkoutBuilder : HKLiveWorkoutBuilderProtocol{

}

但是没有办法在某个特定版本和更新版本中标记扩展,类,函数等...不可用,已过时或已弃用:

@available(watchOSApplicationExtension, introduced: 4.2, deprecated: 5.0)
extension HKLiveWorkoutBuilder : HKLiveWorkoutBuilderProtocol{

}

@available(watchOSApplicationExtension 5.0, unavailable)
extension HKLiveWorkoutBuilder : HKLiveWorkoutBuilderProtocol{

}

Xcode 10没有构建警告或错误。 我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

Xcode 10 GM Seed建议:

  if #available(watchOSApplicationExtension 5.0, *) {
    update(<#T##userActivity: NSUserActivity##NSUserActivity#>)
  } else {
    ///your old action pre v5.0
  }

可能是 #available @available 的问题……在黑暗中拍摄。 仍在更新我的新功能签名