【问题标题】:Xcode TARGET_OS_IPHONE seems confused, bug or configuration error?Xcode TARGET_OS_IPHONE 似乎很困惑,bug 还是配置错误?
【发布时间】:2017-03-10 04:32:51
【问题描述】:

在一个较旧的项目中,我在几个地方使用 TARGET_OS_IPHONE 预编译器宏来实现一些特定于 iOS 的东西。

这在过去可以正常工作,但目前 Xcode 似乎将这个宏“反转”,使得代码完成在 #if TARGET_OS_IPHONE 块中不起作用,即使我的构建目标是 iOS 应用程序。也没有语法高亮。它语法高亮和代码完成 #else 块中的内容,这些内容应该只发生在 macOS 目标上。 据我所知,它构建正确,只是编辑器看起来很困惑。这使得编辑代码非常烦人。我正在使用 Xcode 8.1 GM。

这可能是一个 Xcode 错误,还是我的项目中的某些配置搞砸了?似乎 Xcode 正在查看错误的标头是有原因的。当我 CMD 单击TARGET_OS_IPHONE 宏时,它会导航到此文件:

它具有 macOS 的宏值,而不是 iOS 的宏值:

#define TARGET_OS_OSX               1
#define TARGET_OS_IPHONE            0

似乎它选择了错误的 SDK。不知道在哪里看/把它改回正常。我查看了目标构建设置,它们看起来还不错。

谢谢!

【问题讨论】:

  • 你提到过这个吗,stackoverflow.com/a/3748348/6742121? @雅各布
  • 是的,谢谢 - 虽然目标构建和运行良好,但该问题中的建议并不能缓解我看到的问题。

标签: ios objective-c xcode


【解决方案1】:

这似乎是一个 Xcode 8.1 错误。问题似乎已在 Xcode 8.2 beta 中自行解决。

【讨论】:

  • 这个绝对令人愤怒的问题在 Xcode 8.3.2 中仍然非常活跃
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 1970-01-01
  • 2013-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多