Как заполнить значения Info.plist динамически в Xcode? - PullRequest
1 голос
/ 12 августа 2010

Не могу понять, как динамически заполнить CFBundleVersion с $ {BUNDLE_VERSION}, который я хотел бы определить как

BUNDLE_VERSION=`date "+%y%m%d"`

Ответы [ 2 ]

2 голосов
/ 12 августа 2010

Если вы выполняете сборку из командной строки с помощью xcodebuild, вы можете сделать что-то вроде

xcodebuild -target MyApp -configuration AppStore BUNDLE_VERSION=`date "+%y%m%d"`

Однако я не советую делать это.Приложение App Store имеет три версии:

  • Номер версии iTunes Connect (это единственная, обычно показанная пользователю)
  • CFBundleVersion
  • CFBundleShortVersionString

Я думаю, что они все должны иметь форму [0-9]+.[0-9]+(.[0-9]+)?.Чтобы избежать путаницы, я установил их одинаково для сборок App Store (мы включаем CFBundleVersion / CFBundleShortVersionString в сообщения об ошибках, и было бы хорошо, если бы они соответствовали CFBundleVersion).Сборки, не относящиеся к App Store, могут содержать больше информации, поскольку их не нужно отправлять.

Я не знаю, позволяет ли iTunes Connect отправить приложение с CFBundleVersion, которое не содержит ".", но я не проверял это подробно.

1 голос
/ 12 августа 2010

Вам понадобится файл конфигурации Xcode и переменная конфигурации, которую вы установили во время сборки.Это описано более подробно в блоге Диего Массанти.Вам нужно будет изменить фазу сборки, которую он описывает, чтобы установить переменную на текущую дату вместо увеличения существующего значения.

...