Я не знаю, какой путь самый лучший, но я опубликую ответ Apple на тот случай, если кто-то его ищет ...
Согласно этому сообщению от Apple :
Автоматизация номеров версий и сборок с помощью agvtool
Клавиши номера версии и сборки соответственно определяют маркетинговую и внутреннюю версии вашего приложения. agvtool - это инструмент командной строки, который позволяет автоматически увеличивать эти числа до следующего наибольшего числа или до определенного числа.
Номер сборки идентифицирует неизданную или выпущенную версию вашего приложения. Он хранится в Info.plist вашего приложения как CFBundleVersion
(Bundle версия).
Вы должны выполнить следующие шаги в вашем проекте XCode:
- Включить agvtool
Перейдите на панель «Настройки сборки» своей цели, затем обновите ее для всех ваших конфигураций сборки следующим образом:
- Установите текущую версию проекта на значение по вашему выбору.
Ваш файл данных проекта 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 вашего приложения ваши версии и номера сборки. Он обновляет их, если они существуют, и ничего не делает, в противном случае. Убедитесь, что в вашем Info.plist есть ключи CFBundleVersion
(Bundle version) и (Bundle version CFBundleShortVersionString
string, short), как показано на рисунке ниже:
Выйдите из Xcode, затем перейдите в каталог, содержащий ваш файл проекта .xcodeproj в приложении Terminal, прежде чем выполнять любую из следующих команд. Файл проекта .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