Xcode
Plattformübergreifende Entwicklung
Suche…
TargetConditionals
Der TargetConditionals.h
definiert mehrere Makros, die Sie von C und Objective-C verwenden können, um die verwendete Plattform zu bestimmen.
#import <TargetConditionals.h> // imported automatically with Foundation
- (void)doSomethingPlatformSpecific {
#if TARGET_OS_IOS
// code that is compiled for iPhone / iPhone Simulator
#elif TARGET_OS_MAC && !TARGET_OS_IPHONE
// code that is compiled for OS X only
#else
// code that is compiled for other platforms
#endif
}
Die Werte der Makros sind:
7,0
Bei Verwendung von iOS 9.1, tvOS 9.0, watchOS 2.0, OS X 10.11 oder neueren SDKs:
Makro | Mac | iOS | iOS-Simulator | Sehen | Simulator ansehen | Fernseher | TV-Simulator |
---|---|---|---|---|---|---|---|
TARGET_OS_MAC | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
TARGET_OS_IPHONE | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
TARGET_OS_IOS | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
TARGET_OS_WATCH | 0 | 0 | 0 | 1 | 1 | 0 | 0 |
TARGET_OS_TV | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
TARGET_OS_SIMULATOR | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
TARGET_OS_EMBEDDED | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
TARGET_IPHONE_SIMULATOR | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
7,0
Bei Verwendung von iOS 8.4, OS X 10.10 oder älteren SDKs:
Makro | Mac | iOS | iOS-Simulator |
---|---|---|---|
TARGET_OS_MAC | 1 | 1 | 1 |
TARGET_OS_IPHONE | 0 | 1 | 1 |
TARGET_OS_EMBEDDED | 0 | 1 | 0 |
TARGET_IPHONE_SIMULATOR | 0 | 0 | 1 |
Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow