Технические вопросы и ответы QA1827

Автоматизация Номеров версий и Номеров сборки Используя agvtool

Q: Как делают меня автоинкремент мое использование номеров сборки и номеров версий agvtool?

A: Ключи номера версии и номера сборки соответственно указывают маркетинг и внутренние версии Вашего приложения. agvtool является инструментом командной строки, позволяющим Вам автоматически постепенно увеличивать эти числа к следующему самому большому количеству или к определенному числу. Этот документ обеспечивает поэтапные инструкции для обновления Вашего использования номеров сборки и номеров версий agvtool. Разделы «XCode» и «Командной строки» указывают шаги, которые будут соответственно выполняться в XCode и командной строке.

Номер сборки идентифицирует невыпущенную или выпущенную версию Вашего приложения. Это сохранено в Info.plist Вашего приложения как CFBundleVersion (Bundle version). Посмотрите информационную Ключевую Ссылку Списка свойств для получения дополнительной информации об этих ключах.

Посмотрите рисунок 1 для примера, показывающего номер версии и номер сборки приложения App Store, которые являются соответственно 1.3 и 201.4.

  Номера версий приложения App Store рисунка 1 и номера сборки

XCode

Необходимо завершить следующие шаги в проекте XCode.

1) Включите agvtool.

Перейдите к области Build Settings Вашей цели, затем обновите его для всех своих конфигураций сборки следующим образом:

  • Набор Current Project Version к значению Вашего выбора.

    Ваш файл данных по проекту XCode, project.pbxproj, включает a CURRENT_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  , Настраивающий Текущую Версию Проекта и Систему управления версиями, создает настройки

2) Установите свои номера версий и номера сборки.

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

  Номера версий рисунка 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.