Я не знаю, какой способ лучше, но я отправлю ответ Apple на всякий случай, если кто-то его ищет ...
Согласно этому сообщению Apple о вопросах и ответах:
Автоматизация номеров версий и сборок с помощью agvtool
Ключи номера версии и сборки соответственно определяют маркетинговую и внутреннюю версии вашего приложения. agvtool - это инструмент командной строки, который позволяет автоматически увеличивать эти числа до следующего наибольшего числа или до определенного числа.
Номер сборки указывает на невыпущенную или выпущенную версию вашего приложения. Он хранится в Info.plist вашего приложения как CFBundleVersion
(версия Bundle).
Вы должны выполнить следующие шаги в своем проекте Xcode:
- Включить agvtool
Перейдите к панели параметров сборки вашей цели, затем обновите ее для всех конфигураций сборки следующим образом:
- Установите для Current Project Version любое значение по вашему выбору.
Ваш файл данных проекта Xcode, project.pbxproj, включает параметр сборки CURRENT_PROJECT_VERSION
(Текущая версия проекта), который указывает текущую версию вашего проекта. agvtool ищет в project.pbxproj CURRENT_PROJECT_VERSION
. Он продолжает работать, если CURRENT_PROJECT_VERSION
существует, и прекращает работу в противном случае. Его значение используется для обновления номера сборки.
- Установите для системы управления версиями значение Apple Generic.
По умолчанию Xcode не использует систему управления версиями. Установка системы управления версиями на Apple Generic гарантирует, что Xcode будет включать в ваш проект всю информацию о версиях, созданную с помощью agvtool.
- Укажите версию и номера сборки
agvtool ищет в Info.plist вашего приложения номера версии и сборки. Он обновляет их, если они существуют, и ничего не делает в противном случае. Убедитесь, что ключи CFBundleVersion
(версия пакета) и CFBundleShortVersionString
(строка версий пакета, короткая) существуют в вашем Info.plist, как показано на изображении ниже:
Закройте Xcode, затем перейдите в каталог, содержащий файл вашего проекта .xcodeproj, в приложении «Терминал» перед выполнением любой из следующих команд. Файл проекта .xcodeproj содержит project.pbxproj, который используется agvtool. (Это часть, которую вы можете запустить в сценарии, а не в командной строке.)
Обновление номера версии
Чтобы обновить номер версии до определенной версии, запустите
xcrun agvtool new-marketing-version <your_specific_version>
Пример: обновите номер версии до 2.0.
xcrun agvtool new-marketing-version 2.0
Обновление номера сборки
Чтобы автоматически увеличивать номер сборки, запустите
xcrun agvtool next-version -all
Чтобы установить номер сборки вашего приложения для конкретной версии, запустите
xcrun agvtool new-version -all <your_specific_version>
Пример: установите номер сборки 2.6.9.
xcrun agvtool new-version -all 2.6.9
Бонус:
Чтобы просмотреть номер текущей версии, запустите
xcrun agvtool what-marketing-version
Чтобы просмотреть текущий номер сборки, запустите
xcrun agvtool what-version
person
FormigaNinja
schedule
25.02.2016
tools
, справа рядом с.xcodeproj
. - person trojanfoe   schedule 17.02.2014CFBundleVersion
включает десятичную дробь, например1.0
. Сценарии оболочки могут добавлять целые числа только с помощью необработанного оператора+
. Измените на обычный1
, и он будет работать нормально. - person Stan James   schedule 25.03.2014chown +x /path/to/file.sh
. - person Matt   schedule 24.06.2015