使代码无法在其他平台上运行
Making code not runnable on other platforms
在Swift 2、如何使用#available
条件来阻止一段代码在某个平台上执行? *
似乎允许您在部署目标中指定的版本。并且指定 iOS Int.max
不起作用。
#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 {
}
请查看 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
}
在Swift 2、如何使用#available
条件来阻止一段代码在某个平台上执行? *
似乎允许您在部署目标中指定的版本。并且指定 iOS Int.max
不起作用。
#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 {
}
请查看 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
}