【问题标题】:Detect platform in Cocoa在 Cocoa 中检测平台
【发布时间】:2011-11-21 16:26:28
【问题描述】:

我正在尝试构建一个需要使用本机颜色类(NSColor 或 UIColor)的跨平台(Mac 或 iOS)类。我需要一种方法来检测我使用的是 OSX 还是 iOS 来动态更改我使用的类。我可以用什么来检测这个?

【问题讨论】:

    标签: objective-c ios cocoa


    【解决方案1】:

    您可以使用 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
    • TARGET_OS_WIN32? Cocoa 在 Windows 和 Unix 上运行?还是来自 GCC 的?
    • usr/include/TargetConditionals.h中定义。关于TARGET_OS_WIN32这个文件告诉以下内容:Generate code will run under 32-bit Windows
    猜你喜欢
    • 2012-04-02
    • 1970-01-01
    • 2017-11-28
    • 2015-01-11
    • 2011-07-11
    • 2014-11-16
    • 2015-05-18
    • 2011-10-26
    相关资源
    最近更新 更多