use*_*226 2 objective-c ios ios-simulator
我的环境:ObjectiveC在OS X El Captain中使用Xcode 6.4(10.11.1).在Xcode中,target设置为iOS 8.
即使我选择iPad2作为iOS模拟器,TARGET_IPHONE_SIMULATOR也始终在下面的代码中解析为true.
#if TARGET_IPHONE_SIMULATOR
// block of code
#endif
Run Code Online (Sandbox Code Playgroud)
选择iPad2作为iOS模拟器时,不应将TARGET_IPHONE_SIMULATOR设置为false吗?
Jer*_*oia 14
请注意,iOS 9中引入了较新的宏以及tvOS和watchOS,并且当时不推荐使用TARGET_IPHONE_SIMULATOR宏以避免混淆.来自TargetConditionals.h:
TARGET_OS_WIN32 - Generated code will run under 32-bit Windows
TARGET_OS_UNIX - Generated code will run under some Unix (not OSX)
TARGET_OS_MAC - Generated code will run under Mac OS X variant
TARGET_OS_IPHONE - Generated code for firmware, devices, or simulator
TARGET_OS_IOS - Generated code will run under iOS
TARGET_OS_TV - Generated code will run under Apple TV OS
TARGET_OS_WATCH - Generated code will run under Apple Watch OS
TARGET_OS_SIMULATOR - Generated code will run under a simulator
TARGET_OS_EMBEDDED - Generated code for firmware
TARGET_IPHONE_SIMULATOR - DEPRECATED: Same as TARGET_OS_SIMULATOR
TARGET_OS_NANO - DEPRECATED: Same as TARGET_OS_WATCH