Я пытаюсь использовать предварительную обработку Info.plist, доступную в XCode, чтобы я мог вставить последний идентификатор git commit в Info.plist приложения.Он отлично работает в Xcode 3, используя описанную здесь методику: http://www.cimgf.com/2011/02/20/revisiting-git-tags-and-building/ Однако, когда я пробую это в Xcode 4, похоже, что после первой сборки никакая предварительная обработка не выполняется.
Что я вижу:
- Начиная с чистого листа при создании моей цели, InfoPlist.h создается с правильным содержимым, цель собирается и успешно работает, и я могу получить доступ к значению во время выполнения.
- Создайте новый коммит для изменения идентификатора коммита HEAD.
- Снова создайте мою цель, обновится InfoPlist.h, чтобы получить новый идентификатор фиксации, цель создаст и успешно выполнится, однако значениев информационном словаре находится идентификатор предыдущего коммита.
Похоже, Xcode выполняет шаг сборки скрипта, но не обрабатывает мой Info.plist, а использует кешированную версию.Есть мысли о том, как это исправить?
Я пытался удалить InfoPlist.h в качестве шага пост-сборки, чтобы он всегда был вновь измененным файлом, но это не имело значения.
Обновление: Выполнение очистки, а затем повторное построение приводит к появлению правильного значения.Однако мне не нужно очищать свою цель каждый раз, когда я делаю коммит.