2012-01-05 2 views
2

Я использую scan-build (checker-258) из командной строки для статического анализа в моем проекте iOS и обнаруживаю, что обнаруживает гораздо меньше проблем, чем xcode (около 60% Меньше). Если я установил xcode 4.2 для использования scan-build из checker-258, он найдет все проблемы (и многое другое). Это может быть потому, что версия командной строки с нами, используя старые (не современный) во время выполнения, как это найти такие вопросы, как:Несоответствие с проблемами, обнаруженными в scan-build vs. xcode

error: synthesized property 'foo' must either be named the same as a compatible ivar or must explicitly name an ivar 
@synthesize foo; 
      ^

Вот команда, я использую для запуска анализа:

scan-build --use-cc=`which clang` -k -o scan-reports xcodebuild -target MyTarget -project myproject.xcodeproj -sdk iphonesimulator5.0 -configuration Debug clean build 

Заранее спасибо.

ответ

0

Да, версия статического анализатора, поставляемого с Xcode 4.2, старше версии на веб-сайте clang. Есть здесь инструкции о том, как использовать новую версию в Xcode: http://clang-analyzer.llvm.org/xcode.html

+0

Привет Марк, я получил новую шашку рабочей хорошо из Xcode 4.2. Однако, когда я запускаю его из команды, как будто это дает гораздо меньше проблем, когда я запускаю его изнутри Xcode. Мне любопытно, почему. –

+0

Ahh, если вы уверены, что Xcode и командная строка работают с одинаковой версией, с теми же аргументами/target/config, возможно, стоит указать ошибку в Xcode. –

0

пытающегося использовать эту команду: scan-build -k -V -o scan-reports xcodebuild clean build -configuration Debug -sdk iphoneos5.0 -xcconfig="myConfig.xcconfig"

Где MyConfig содержит CODE_SIGNING_IDENTITY="", PROVISIONING_PROFILE=""