2009-06-07 2 views
6

Поскольку переменная сценария Xcode отсутствует для «текущей директории проекта», как вы можете создать элемент меню сценария для запуска анализатора Clang Static Analyzer в текущем проекте из Xcode?Использование Clang Static Analyzer из XCode

ответ

3

Из пункта меню XCode сценария «Edit Scripts пользователя» введите следующий скрипт:

#!/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 или результаты могут быть неполными.

+0

Каждый раз, когда я запускаю этот скрипт, я должен перезапустить Xcode, чтобы запустить его снова. Зачем? Есть ли способ запустить сценарий дважды без перезапуска? Это не позволит мне снова называть это! – 2009-09-03 12:07:53

+2

Хммм .... У меня никогда не было этой проблемы ... ОДНАКО: эта функция встроена в XCode 3.2, я просто обновляюсь и вообще забываю этот сценарий. – mmc

0

Я считаю, что переменная окружения $ {PROJECT_DIR} - это то, что вы хотите для каталога проекта, выполняющего сценарий фазы сборки.

+0

$ {PROJECT_DIR} будет работать в сценарии фазы сборки, да, но не в пользовательском скрипте, который может быть запущен из меню сценария. – mmc

+0

Да, ваш вопрос был очень ясен. Сожалею. Вы могли бы создать цель clang в своем проекте (это то, что я обычно делаю). Не так чисто, как скрипт меню (и вам, разумеется, нужно создать его в каждом проекте), но он работает хорошо. –

+0

Ах, ха! Я даже не думал о создании отдельной цели. Полагаю, много разных способов приблизиться к этому. – mmc

1

FYI, Xcode 3.2 (только Leopard Snow Leopard), включает в себя анализатор Clang Static Analyzer в меню «Сборка и анализ».

http://iosdevelopertips.com/xcode/static-code-analysis-clang-and-xcode-3-2.html

Один недостаток Xcode 3.2 (в сторону от него работает только на Snow Leopard) является то, что v2.x Имитаторы, кажется, не работать - на самом деле, я видел сообщения о том, что v2. x не поддерживаются вообще.

Смежные вопросы