编译 Prefix.pch 文件时出错,导致更大的问题

Posted

技术标签:

【中文标题】编译 Prefix.pch 文件时出错,导致更大的问题【英文标题】:Errors Compiling Prefix.pch file, Causing bigger problems 【发布时间】:2010-10-16 06:57:34 【问题描述】:

更新 2

我发现,如果我将“Base SDK”更改为“ios Simulator 3.2”(iPad ???),在构建和分析时不会给我这个错误......但这应该是一个 iPhone 应用程序.我正在运行 XCode 3.2.4... 创建项目时是否遗漏了什么?我选择 iPhone 作为目标设备,不知道发生了什么。

原创

我在查找我的 iPhone 应用程序中的内存泄漏时遇到问题。我尝试运行“构建和分析”,但是当它到达 MyApp_Prefix.pch 文件时,它说“分析器由于解析错误而跳过了这个文件”——然后 50% 的文件说“由于解析错误而跳过了这个文件- /var/folders/ ... /MyApp_Prefix.pch 文件未找到”。

App实际编译运行,Prefix.pch文件确实存在。

当我打开出现在第一个错误下的所有错误时,它开始打开框架中的文件,我不知道为什么那里会出现问题。

这是 .pch 文件的内容:

//
// Prefix header for all source files of the 'Tickets' target in the 'Tickets' project
//

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

更新 以下是当我单击“函数声明符后的预期函数体”、“预期类型”等时打开的文件... CGPDFContext.h UIView.h UIApplication.h UITextView.h UIWebView.h

这些都位于框架中。

我尝试创建一个全新的项目并导入我现有的类,它给了我同样的错误。

我尝试在我的一个旧项目上运行 Build & Analyze,它使用相同的框架,并且运行良好。

【问题讨论】:

【参考方案1】:

我刚刚遇到了完全相同的问题。我从模拟器切换到设备并再次运行“构建和分析”,你瞧,它成功了。不要问我为什么,但至少这可以让你使用分析功能。

【讨论】:

我猜这可能是当前版本的 XCode 创建项目的方式中的一个错误,因为它适用于我使用旧版本 XCode 创建的项目。【参考方案2】:

我使用以下内容修复了我的构建 - 当前版本的 XCode 中似乎存在错误,因此标志设置不正确:

#ifdef __OBJC__
  #ifndef __IPHONE_OS_VERSION_MIN_REQUIRED
    #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_3_0
  #endif

  #import <Foundation/Foundation.h>
  #import <UIKit/UIKit.h>
#endif

【讨论】:

在 XCode5.0 下的一个项目中为我工作,谢谢。【参考方案3】:

您可以查看 .pch 文件,它实际上是一个包含/导入的文本文件。也许里面有一些垃圾。

【讨论】:

.pch 文件中似乎没有什么不寻常之处,它看起来像我在其他项目中的 .pch 文件。添加到我的原始帖子中。

以上是关于编译 Prefix.pch 文件时出错,导致更大的问题的主要内容,如果未能解决你的问题,请参考以下文章

预编译 prefix.pch 时出现奇怪的编译器警告

Apache POI的Word to PDF - 转换时出错:比源更大的段落间距

如何阻止巨大的 Prefix.pch.gch 文件被复制到应用程序包中

项目找不到 RestKit-Prefix.pch

为啥 Xcode 模板的 #imports 与 Prefix.pch 重复?

iOS::;pch 文件,使用配置