Xcode
Sviluppo multipiattaforma
Ricerca…
TargetConditionals
L'intestazione di sistema TargetConditionals.h
definisce diverse macro che è possibile utilizzare da C e Objective-C per determinare la piattaforma che si sta utilizzando.
#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
}
I valori delle macro sono:
7.0
Quando si utilizza iOS 9.1, tvOS 9.0, watchOS 2.0, OS X 10.11 o SDK più recenti:
macro | Mac | iOS | simulatore iOS | Orologio | Guarda il simulatore | tv | Simulatore TV |
---|---|---|---|---|---|---|---|
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
Quando si utilizza iOS 8.4, OS X 10.10 o SDK precedenti:
macro | Mac | iOS | simulatore iOS |
---|---|---|---|
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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow