【问题标题】:TARGET_OS_IPHONE failing at compile timeTARGET_OS_IPHONE 在编译时失败
【发布时间】:2018-04-18 22:40:28
【问题描述】:

我正在使用 Xcode 9.3,奇怪的是,我正在尝试为 iOS 框架(也有 macOS 对应框架)编译一些条件代码。

#if TARGET_OS_IPHONE || TARGET_OS_IOS
#warning "BUILDING IPHONE"
#else
#warning "BUILDING MAC"
#endif

奇怪的是,当它应该是“BUILDING IPHONE”时,我收到了“BUILDING MAC”的编译时警告。我有另一个 iOS 项目,我为其编译了一个框架,在比较构建设置时,我找不到明显的差异,但是正在构建的框架没有在我的条件代码中正确编译。我做错了什么?

这是我为此框架的构建设置的屏幕截图。

【问题讨论】:

    标签: xcode compiler-errors compilation


    【解决方案1】:

    我傻了。我运行此检查的头文件是从另一个头文件中调用的。本质上,“调用”代码还没有导入基础头文件。在全局导入上方添加的以下内容对其进行了修复:

    #ifdef __OBJC__
    #import <Foundation/Foundation.h>
    #endif
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-10
      • 1970-01-01
      • 2015-02-04
      • 2021-10-07
      • 2018-04-26
      • 2012-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多