Использование статического анализатора Clang из Xcode
Вопрос
Поскольку для "текущего каталога проекта" нет переменной скрипта Xcode, как вы можете создать пункт меню скрипта для запуска статического анализатора Clang в вашем текущем проекте из Xcode?
Решение
В пункте меню XCode script "Редактировать пользовательские скрипты" введите следующий скрипт:
#!/bin/bash
result=$( osascript << END
tell application "Xcode"
tell active project document
set projectPath to path as string
end tell
end tell
return projectPath
END
)
cd "$result"
/Developer/clangchecker/scan-build -k -V xcodebuild -configuration Debug -sdk iphonesimulator3.0
Очевидно, вам нужно будет настроить путь к вашей установке Clang и приспособиться к версии SDK, которую вы используете.
Не забудьте выполнить "Очистку всего" непосредственно перед использованием scan-build, иначе результаты могут быть неполными.
Другие советы
К вашему сведению, Xcode 3.2 (я полагаю, только Snow Leopard) включает статический анализатор Clang в опции меню "Сборка и анализ".
http://iosdevelopertips.com/xcode/static-code-analysis-clang-and-xcode-3-2.html
Одним из недостатков Xcode 3.2 (помимо того, что он работает только на Snow Leopard) является то, что симуляторы версии v2.x, похоже, не работают - фактически, я видел сообщения, указывающие, что сборки версии v2.x вообще не поддерживаются.
Я полагаю, что переменная среды $ {PROJECT_DIR} - это то, что вам нужно для каталога проекта, в котором выполняется скрипт на этапе сборки.
Либо используйте версию, входящую в комплект поставки XCode 3.2+, либо загрузите более новую версию по адресу https://clang-analyzer.llvm.org/ затем ознакомьтесь с некоторыми дополнительными инструкциями по адресу https://clang-analyzer.llvm.org/xcode.html чтобы переключить XCode на эту загруженную версию.