Как проверить, используя скрипт, если проект открыт в XCode? - PullRequest
0 голосов
/ 06 января 2011

Я хотел бы добавить функцию номера сборки для моего проекта iPhone и увеличивать ее автоматически с каждым коммитом в моем git-репо. Я планирую сделать это, используя Apple agvtool, которая рекомендует не открывать проект в XCode в то время

Итак, мои вопросы: 1) Пока я знаю, что мне нужно сделать исполняемый скрипт из .git/hooks/pre-commit.sample. Как выполнить сценарии, чтобы проверить, открыт ли определенный проект в XCode?

2) pre-commit.sh будет выполнено после вызова git commit без аргументов, поэтому всякий раз, когда кто-то совершит коммит с параметром -a, я не буду обновлять свой номер сборки. Есть ли способ обойти это?

Приветствия

Ответы [ 2 ]

1 голос
/ 19 октября 2011

Xcode поддерживает AppleScript.Я протестировал это с Xcode 4.2, но я думаю, что это должно работать в более ранних выпусках.

Сначала напишите файл сценария, isXcodeProjectOpen.scpt:

-- Returns 1 if a project in the given directory is open, otherwise 0
on run argv
    set _path to first item of argv
    tell application "Xcode"
        repeat with _p in projects
            if project directory of _p is _path then
                return 1
            end if
        end repeat
    end tell
    return 0
end run

Затем вы можете запустить его изОболочка как это:

ISOPEN=`osascript isXcodeProjectOpen.scpt /path/containing/project`
if [ -z $ISOPEN ]; then
   # all clear
else
   # not safe to run agvtool!
fi
1 голос
/ 06 января 2011

Я не знаю ни Xcode, ни agvtool, но, читая ваш вопрос, у меня сложилось впечатление, что вы хотите увеличивать свой номер сборки каждый раз, когда делаете коммит. Для меня это выглядит странно, поскольку фиксация на git не связана с реальной сборкой.

Лучше добавить хук в систему сборки, чем в git.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...