What's the Swift equivalent of Objective-C's "#ifdef __IPHONE_11_0"?
The iOS 11 SDK comes with Swift 3.2 (or Swift 4), so you can use a Swift version check to accomplish the same thing:
#if swift(>=3.2)
if #available(iOS 11.0, *) {
…
}
#endif
This is the solution suggested by Apple:
if #available(iOS 11.0, *) {
// iOS 11 specific stuff here
} else {
// non iOS 11 stuff here
}
Please refer to this resource (watch video on mark 6:50 for more details)
If you want to put the condition outside of the function, you could do it like below.
@available(iOS 11.0, *)
func functionName() {
// function contents
}