usr/include - Availability.h和TargetConditional.h
for 'dispatch' application inner to begin note
#include <Availability.h>
These macros are for use in OS header files. They enable funcation prototypes and Objective-C methods to be tagged with the OS version in which they were first available; and, if applicable, the OS version in which they beacom deprecated.
Examples (_NA: not applicable):
__OSX_AVAILABLE_STARING(__MAC_10_2,__IPHONE_2_0)
__OSX_AVALIABLE_STARING(__MAC_10_2,__IPHONE_NA)
__OSX_AVALIABLE_BUT_DEPRECATED(__MAC_10_2,__MAC_10_5,__IPHONE_5_0,__IPHONE_8_0)
__OSX_AVALIABLE_BUT_DEPERCATED(__MAC_10_2,__MAC_10_5,__IPHONE_NA,__IPHONE_NA)
For these macros to funcation properly, a program must specify the OS version range it is targeting. the min OS version is specified as an option to the compiler: -mmacosx-version-min=10.x when building for Mac OS X, and -miphoneos-version-min=y.z when building for the iPhone.
Examples:####
__OSX_AVAILABLE_STARING(__MAC_10_5,__IPHONE_NA);
#if __IPHONE_OS_VERSION_MIN_REQUIRED // this macros avliable in iPhoneOS Only
enum{
myX = 1, // Usable on iPhoneOS 2.1 and later
myY = 2, // Usable on iPhoneOS 2.0 and later
myZ = 3, // Usable on iPhoneOS 3.0 and later
...
}
#endif
These macros###
/*! MACOS-X version*/
#define __MAC_10_0 1000
#define __MAC_10_1 1010
...
#define __MAC_10_11_4 101104
/*! iPhoneOS version*/
#define __IPHONE_2_0 20000
#define __IPHONE_2_1 20100
...
#define __IPHONE_9_3 90300
/*! TVOS version*/
#define __TVOS_9_0 90000
#define __TVOS_9_1 90100
#define __TVOS_9_2 90200
/*! WATCHOS version*/
#define __WATCHOS_1_0 10000
#define __WATCHOS_2_0 20000
#include<TargetConditional.h>
OS所依赖的指令集合环境、操作系统平台和设么情况下runtime可以运行code
Examples:####
TARGET_CPU_PPC
TARGET_CPU_PPC64
TARGET_CPU_68K
TARGET_CPU_ARM
TARGET_CPU_MIPS
TARGET_CPU_SPARC
TARGET_CPU_ALPHA
TARGET_OS_WIN32
TARGET_OS_UNIX
TARGET_OS_MAC
TARGET_RT_64_BIT
😄

浙公网安备 33010602011771号