XCode静态分析器:由于解析错误,分析器跳过了此文件。

4

我之前几个月一直可以成功地在我的代码上运行静态分析器。但突然间,我现在遇到了以下错误:

<command line>:0:0 Analyzer skipped this file due to parse errors

我不确定如何诊断。

它跳过的第一个瓷砖是:

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFContext.h:0:0 分析器由于解析错误而跳过了此文件

2个回答

5

如果我将目标设置为模拟器并尝试使用它,则也会出现这些错误,但是如果我将目标切换到设备,则可以正常工作。


1
正如我在答案中所解释的那样,这很可能是由于iOS 4.1 SDK中的此错误引起的:https://dev59.com/p3A65IYBdhLWcg3wsw4X - Brad Larson

3
通常,这是由于语法错误或其他阻止您的代码编译的原因导致的。因为只有在分析代码时才会看到错误,而不是在编译时,我打赌您正在使用GCC编译器进行主要应用程序构建。Clang / LLVM在面向模拟器时会出现编译错误,但不会出现在设备上,这可能是Clang静态分析器也存在的同样的bug。
我在我的答案中提供的解决方案也应该适用于解决此问题。但是,当您切换回使用GCC构建应用程序时,它可能会导致编译错误,因此我建议将编译器切换到LLVM。除非您使用C ++代码,否则我建议在iPhone项目中使用LLVM,因为它可以为编译后的应用程序带来轻微的性能提升。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接