使代码在其他平台上无法运行

时间:2015-06-09 20:35:27

标签: swift2 availability

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

2 个答案:

答案 0 :(得分: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 {

} 

答案 1 :(得分: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
}