xcode4: надежно определяет каталог DerivedData проекта / рабочей области - PullRequest
5 голосов
/ 23 мая 2011

Xcode 4 встраивает все в $HOME/Library/Developer/Xcode/DerivedData/$PROJECT-$UUID, где $UUID - кажущаяся случайной строка (на самом деле она не случайная, просто выглядит случайной).

Как я могу надежно обнаружить $PROJECT-$UUID часть выше? Я видел скрипт (https://gist.github.com/949831), который угадывает, предполагая, что это последний измененный каталог в DerivedData - но это не так, если мой компьютер CI создает несколько проектов параллельно.

1 Ответ

7 голосов
/ 23 мая 2011

Никто не ответил, поэтому я продолжал искать идеи, пока не нашел ту, что ниже, которая удовлетворяет мои потребности.Это может быть далее изменено, чтобы быть еще более безопасным.

  1. В XCode, добавьте фазу сборки сценария выполнения к цели (главная цель, если строит несколько для того же самого проекта).
  2. В сценарии поместите эту строку:

ln -sf "$BUILD_DIR" BuildDir

Теперь, когда цель построена, будет создана символическая ссылка на каталог DerivedData проекта вкаталог проекта.При желании вы также можете / вместо этого создать BuildDir в качестве файла, содержимое которого имеет вид $ BUILD_DIR:

echo "$BUILD_DIR" > BuildDir

Затем в сценарии используйте $(cat BuildDir) для его извлечения.

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