【发布时间】:2011-11-21 16:26:28
【问题描述】:
我正在尝试构建一个需要使用本机颜色类(NSColor 或 UIColor)的跨平台(Mac 或 iOS)类。我需要一种方法来检测我使用的是 OSX 还是 iOS 来动态更改我使用的类。我可以用什么来检测这个?
【问题讨论】:
标签: objective-c ios cocoa
我正在尝试构建一个需要使用本机颜色类(NSColor 或 UIColor)的跨平台(Mac 或 iOS)类。我需要一种方法来检测我使用的是 OSX 还是 iOS 来动态更改我使用的类。我可以用什么来检测这个?
【问题讨论】:
标签: objective-c ios cocoa
您可以使用 TARGET_OS_*:
#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
//your code
#endif
和
#if TARGET_OS_MAC
#endif
【讨论】:
TARGET_OS_MAC,TARGET_OS_WIN32,TARGET_OS_UNIX,TARGET_OS_EMBEDDED,TARGET_OS_IPHONE,TARGET_IPHONE_SIMULATOR
usr/include/TargetConditionals.h中定义。关于TARGET_OS_WIN32这个文件告诉以下内容:Generate code will run under 32-bit Windows