[swift-evolution] Idea: Support #if os(Darwin) as shorthand for os(iOS) || os(OSX) || os(watchOS) || os(tvOS)
colin.cornaby at mac.com
Sat Feb 20 13:35:18 CST 2016
I’ve mentioned this before, but often checking for simulator is really a just a way of dealing with an include that won’t work in the simulator. The ability to exclude code based on the presence of a module in the SDK would be most welcome. Metal is my current sticky point with Swift. It’s in the device SDK but not the sim.
> On Feb 19, 2016, at 8:01 PM, Brent Royal-Gordon via swift-evolution <swift-evolution at swift.org> wrote:
>> • Is the target an Apple platform (iOS, OS X, tvOS, watchOS) or not? (Answers the question "can I import Foundation"?)
> Well, Corelibs Foundation will muddy those waters.
>> • Is the target a "common UIKit platform" (compiles on both iOS and tvOS) or not? (Answers the question "can I import UIKit"?)
> Maybe test for the presence of a particular module?
> #if supports(Foundation)
> #if supports(UIKit)
> Or allow conditional importing of a module?
> #if import UIKit
> // Only compiled if UIKit imported; all UIKit APIs usable here
> #elseif import AppKit
> // Only compiled if AppKit imported; all AppKit APIs usable here
> // No AppKit or UIKit APIs usable here
> Brent Royal-Gordon
> swift-evolution mailing list
> swift-evolution at swift.org
More information about the swift-evolution