0

在 Swift 2 中,如何使用#available条件来阻止代码块在某个平台上执行?*似乎允许您在部署目标中指定的版本。并且指定iOS Int.max不起作用。

4

2 回答 2

1

#available用于指定特定平台上的特定版本。如果您只想将代码限制在某个平台上,您可以使用编译器指令。

#if os(iOS)
    // do stuff only on iOS
#elseif os(OSX)
    // do stuff only on OS X
#endif

但我相信您尝试使用的原因Int.max不起作用,因为它需要UInt32文字(即最多 4294967295,即 (2^32) - 1 或 UInt32.max -1):

if #available(iOS 1000, watchOS 1000, *) {
    // Should execute only on OSX higher than deployment target
} else {

} 
于 2015-06-09T21:34:55.177 回答
0

请查看 swift 2.0 中可用性检查的语法

if #available(platform name version, ..., *) {
  statements to execute if the APIs are available
} else {
  fallback statements to execute if the APIs are unavailable
}
于 2015-09-24T10:13:08.207 回答