在Xcode 6中使用前缀文件时出错

时间:2014-08-28 19:01:19

标签: ios xcode xcode6-beta6

我正在使用Xcode 6 beta 6构建应用程序。我手动添加了一个前缀文件,并在构建设置中指定了它:$(SRCROOT)/$(PRODUCT_NAME)/MyApp-Prefix.pch。文件编译,在那里定义的符号在编辑器中不会突出显示为未声明。但是,当我构建项目时,我得到前缀文件中定义的宏的“未声明的标识符”错误。发生了什么事?

我尝试了什么:

  • 将预编译前缀标题设置为YES(默认为NO)
  • 清理构建文件夹并删除派生数据文件夹

有趣的是.pch文件肯定会在构建时编译。如果我在那里引入语法错误,它会在构建结果中调用。如果pch文件编译好,那么编译器开始表现就像在构建使用它的文件时找不到它。

3 个答案:

答案 0 :(得分:2)

您应该在没有$(SRCROOT)的情况下将文件名添加到“Prefix Header”部分。只需将Precompile Prefix Headers设置为YES即可。

  1. 制作新文件:⌘cmd+ N
  2. iOS / Mac>其他> PCH文件> YourProject-Prefix.pch。
  3. 项目>构建设置>搜索:“前缀标题”。
  4. 在“Apple LLVM 6.0”下,您将获得Prefix Header键。
  5. 输入:“MyApp / MyApp-Prefix.pch”。 (没有$(SRCROOT)!!!)
  6. 清洁项目:⌘cmd+⇧shift+ K
  7. 构建项目:⌘cmd+ B
  8. 有关详细信息,请查看https://stackoverflow.com/a/26126065/3628317回答。

    适用于XCode 6.1。

答案 1 :(得分:0)

作为第一个猜测,你有一个预编译的头文件,它没有意识到你已经改变了.pch,所以它仍然使用旧版本的预编译文件。

清理项目,然后进入Window>组织者>项目> $(PRODUCT_NAME)并删除派生数据。

答案 2 :(得分:0)

有时您可能只是删除方案或目标并重新创建一个新方案。