因此,我们能够在 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 没有生成警告或错误。 我错过了什么吗?
最佳答案
Xcode 10 GM 种子建议是:
if #available(watchOSApplicationExtension 5.0, *) {
update(<#T##userActivity: NSUserActivity##NSUserActivity#>)
} else {
///your old action pre v5.0
}
也许 #available 与 @available 是问题所在......在黑暗中拍摄。 仍在更新我的新函数签名
关于Swift 属性 - 按操作系统版本弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50863565/