2010-10-18 36 views
4

J'ai été capable d'exécuter l'analyseur statique sur mon code pendant des mois. Tout d'un coup maintenant je reçois l'erreur:XCode Static Analyzer: Analyseur a ignoré ce fichier en raison d'erreurs d'analyse

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

Vous ne savez pas comment diagnostiquer.

La première tuile est il saute:

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFContext.h: 0: 0 Analyseur a ignoré ce fichier en raison d'erreurs d'analyse

Répondre

5

Je reçois ces erreurs aussi si j'essaie de l'utiliser lorsque la cible est définie sur le simulateur, mais si je commute la cible sur l'appareil, alors cela fonctionne.

+0

Mêmes erreurs ici. L'analyse fonctionne quand je construis pour le périphérique –

+0

Odd, fonctionne pour moi aussi quand je change de périphérique. –

+1

Comme je l'explique dans ma réponse, cela est probablement dû à ce bogue dans le SDK iOS 4.1: http://stackoverflow.com/questions/3677879/strange-issue-after-upgrading-to-ios-4-1- sdk –

3

Généralement, il s'agit d'un résultat d'une erreur de syntaxe ou de toute autre action empêchant la compilation de votre code. Parce que vous ne voyez que des erreurs lorsque vous allez analyser votre code, pas quand il compile, je parie que vous utilisez le compilateur GCC pour vos builds d'application principale. Clang/LLVM has a bug in the iOS 4.1 SDK qui provoque des erreurs de compilation lors du ciblage du simulateur, mais pas du périphérique. L'analyseur statique Clang présente probablement ce même bug.

La solution que je fournis dans my answer à la question ci-dessus liée devrait travailler pour résoudre ce problème également. Cependant, cela peut conduire à des erreurs de compilation lorsque vous revenez construire votre application avec GCC, donc je vous recommande de passer votre compilateur à LLVM. Sauf si vous utilisez du code C++, je recommande d'utiliser LLVM pour les projets iPhone de toute façon, en raison des améliorations mineures des performances que vous pouvez obtenir avec votre application compilée.