Автоматизация Номеров версий и Номеров сборки Используя agvtool
Q: Как делают меня автоинкремент мое использование номеров сборки и номеров версий agvtool?
A: Ключи номера версии и номера сборки соответственно указывают маркетинг и внутренние версии Вашего приложения. agvtool является инструментом командной строки, позволяющим Вам автоматически постепенно увеличивать эти числа к следующему самому большому количеству или к определенному числу. Этот документ обеспечивает поэтапные инструкции для обновления Вашего использования номеров сборки и номеров версий agvtool. Разделы «XCode» и «Командной строки» указывают шаги, которые будут соответственно выполняться в XCode и командной строке.
Номер сборки идентифицирует невыпущенную или выпущенную версию Вашего приложения. Это сохранено в Info.plist Вашего приложения как CFBundleVersion (Bundle version). Посмотрите информационную Ключевую Ссылку Списка свойств для получения дополнительной информации об этих ключах.
Посмотрите рисунок 1 для примера, показывающего номер версии и номер сборки приложения App Store, которые являются соответственно 1.3 и 201.4.

XCode
Необходимо завершить следующие шаги в проекте XCode.
1) Включите agvtool.
Перейдите к области Build Settings Вашей цели, затем обновите его для всех своих конфигураций сборки следующим образом:
Набор
Current Project Versionк значению Вашего выбора.Ваш файл данных по проекту XCode,
project.pbxproj, включает aCURRENT_PROJECT_VERSION(Current Project Version) установка сборки, указывающая текущую версию Вашего проекта.agvtoolпоискиproject.pbxprojдляCURRENT_PROJECT_VERSION. Это продолжает работать еслиCURRENT_PROJECT_VERSIONсуществует и прекращает работать, иначе. Его значение используется для обновления номера сборки.Набор
Versioning SystemкApple Generic.По умолчанию XCode не использует системы управления версиями. Установка
Versioning SystemкApple Genericгарантирует, что XCode будет включать всеagvtool- сгенерированная информация о версии в Вашем проекте.

2) Установите свои номера версий и номера сборки.
agvtool ищет Info.plist Вашего приложения Ваши номера версий и номера сборки. Это обновляет их, если они существуют, и ничего не делает, иначе. Удостоверьтесь что CFBundleVersion (Bundle version) и CFBundleShortVersionString (Bundle versions string, short) ключи существуют в Вашем Info.plist, как замечено на рисунке 3.


Командная строка
Выйдите из XCode, затем перейдите к каталогу, содержащему Ваш .xcodeproj файл проекта в Терминальном приложении прежде, чем выполнить любую из следующих команд. .xcodeproj файл проекта содержит project.pbxproj, который используется agvtool.
Обновление номера версии
Для обновления номера версии к определенной версии работать
agvtool new-marketing-version <your_specific_version> |
где <your_specific_version> является многим Вашим выбором, как замечено в Перечислении 1.
Обновление перечисления 1 номер версии к 2,0
$ xcrun agvtool new-marketing-version 2.0 |
Setting CFBundleShortVersionString of project MyProject to: |
2.0. |
Updating CFBundleShortVersionString in Info.plist(s)... |
Updated CFBundleShortVersionString in "MyProject.xcodeproj/../MyProject/MyProject-Info.plist" to 2.0 |
Обновление номера сборки
Для автоматического постепенного увеличения номера сборки работать
agvtool next-version -all
Автоинкремент перечисления 2 номер сборки к следующему самому высокому целому числу
$ xcrun agvtool next-version -all
Setting version of project MyProject to:
2.
Also setting CFBundleVersion key (assuming it exists)
Updating CFBundleVersion in Info.plist(s)...
Updated CFBundleVersion in "MyProject.xcodeproj/../MyProject/MyProject-Info.plist" to 2
Для установки номера сборки приложения к определенной версии работать
agvtool new-version -all <your_specific_version>
где <your_specific_version> является многим Вашим выбором.
Набор перечисления 3 номер сборки к 2.6.9
$ xcrun agvtool new-version -all 2.6.9
Setting version of project MyProject to:
2.6.9
Also setting CFBundleVersion key (assuming it exists)
Updating CFBundleVersion in Info.plist(s)...
Updated CFBundleVersion in "MyProject.xcodeproj/../MyProject/MyProject-Info.plist" to 2.6.9
Просмотр номеров версий
Для просмотра числа текущей версии работать
agvtool what-marketing-version
Дисплей перечисления 4 число текущей версии
$ xcrun agvtool what-marketing-version
No marketing version number (CFBundleShortVersionString) found for Jambase targets.
Looking for marketing version in native targets...
Looking for marketing version (CFBundleShortVersionString) in native targets...
Found CFBundleShortVersionString of "2.0" in "MyProject.xcodeproj/../MyProject/MyProject-Info.plist"
Для просмотра текущего номера сборки работать
agvtool what-version
Дисплей перечисления 5 текущий номер сборки
$ xcrun agvtool what-version
Current version of project MyProject is:
2.2
История версии документа
| Дата | Примечания |
|---|---|
| 12.05.2014 | Новый документ, описывающий как к автоинкрементным номерам сборки и номерам версий с помощью agvtool. |