Скрипт Xcode при сборке для обновления строки номера версии в Settings.bundle - PullRequest
5 голосов
/ 28 июля 2011

Мы хотели бы поместить текущую версию приложения в виде строки внизу наших параметров в Settings.app, как нижний колонтитул раздела.

Я не очень много работал со скриптами сборки в Xcode, поэтому мне нужна помощь по

  1. как получить текущую версию, вероятно, из info.plist
  2. как заменить статическую строку, например CURRENT_VERSION_NO в Root.plist внутри Settings.bundle

Спасибо Maciej.

1 Ответ

4 голосов
/ 06 сентября 2012

Вы можете добавить фазу сценария выполнения для своей цели (этапы сборки> добавить этап сборки> добавить сценарий выполнения).Затем у вас будет скрипт оболочки, в котором вы можете использовать PlistBuddy, чтобы получить строку версии и установить ее в другом списке.

Например:

/usr/libexec/PlistBuddy -c "print:CFBundleVersion" "$CONFIGURATION_BUILD_DIR/$INFOPLIST_PATH"

будетотобразить строку версии вашего приложения.Если вы запишите это в переменную и установите значение в другом списке с помощью Plist Buddy -c set, все будет готово.

Это даст что-то вроде:

versionString=$(/usr/libexec/PlistBuddy -c "print:CFBundleVersion" "$CONFIGURATION_BUILD_DIR/$INFOPLIST_PATH")
/usr/libexec/PlistBuddy -c "Set CURRENT_VERSION_NO $versionString" "$THE_PATH_TO_YOUR_PLIST_FILE"

Я никогдаиспользовал копию PlistBuddy -c, но это должно позволить вам сделать это только в одной строке.

...