Как стать автором
Обновить

Автоматическое увеличение номера сборки в Xcode

Время на прочтение2 мин
Количество просмотров3.3K
Автор оригинала: Fredrik Olsson
Пользователи и тестировщики могут найти ошибки, которые вы наверняка уже исправили. Иногда пользователи используют старую версию приложения, иногда ваши исправления не так хороши, как вы думали. В обоих случаях небольшой уникальный номер версии, отображаемый в приложении, может сэкономить часы вашей работы.

Это можно сделать

Существует дюжина способов это сделать, которые можно найти в Google. Но, к сожалению, не все они работают и в Xcode 3.2 и в Xcode 4, а другие требуют много «костылей», даже запуск внешних скриптов на Perl или Python. Использование же avgtool кажется излишним в большинстве случаев. Должен ведь быть более простой способ сделать это, и такой способ есть.

Все, что мы хотим, это иметь номер сборки в файле Info.plist, откуда мы сможем прочести его и отобразить в приложении. Еще мы хотим, чтобы этот номер автоматически увеличивался с каждой новой сборкой проекта.

Добавим ключ, названный CWBuildNumber, в наш файл Info.plist и установим ему некоторое стартовое значение, например «0». Вы можете прочитать это значение в приложении с помощью конструкции:

NSString* buildNumber = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CWBuildNumber"];

Xcode 3.2 и Xcode 4 позволяют нам запускать скрипты во время выполнения для любой цели. К сожалению, Xcode 3.2 и Xcode 4 запускают их с разными путями. Переменная окружения PROJECT_DIR спасет положение! Нам надо получить номер сборки, увеличить его и перезаписать файл Info.plist нашей цели во время сборки. Просто вставим следующий код в Run Script нашей цели:

buildNumber=$(/usr/libexec/PlistBuddy -c "Print CWBuildNumber" ${PROJECT_DIR}/TestIncrement/TestIncrement-Info.plist)
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CWBuildNumber $buildNumber" ${PROJECT_DIR}/TestIncrement/TestIncrement-Info.plist

* примечание переводчика: поменяйте путь к файлу Info.plist в упомянутом коде на свой путь.

Заключение

Счасливы тестировщики, счастливы разработчики. Возможно, счастливы даже пользователи, если вы будете отображать полную версию, включая номер сборки, в конечном продукте.
Теги:
Хабы:
Всего голосов 33: ↑30 и ↓3+27
Комментарии15

Публикации

Истории

Работа

Swift разработчик
42 вакансии
iOS разработчик
26 вакансий

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань