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

Комментарии 15

У себя генерим хедер с содержимым git describe и отображаем версию где-нибудь в приложении. Подход, описанный в статье имеет право на жизнь, но при условии, что над проектом работает только один человек. Иначе придется убрать Info.plist из под контроля версий (а ему контроль версий все-таки нужен) или исправлять конфликты после каждого слияния.
плюсую, столкнулся с этой проблеме на практике.
А есть способ увеличивать версию только в момент Build->Archive когда создается *.ipa?
Скорее всего только косвенно можно определить, что сборка выполняется для архива. При запуске вашего скрипта будут выставленны переменные окружения, так вот по ним и можно определить, что идет архивирование.

Вариант первый
BUILD_DIR, BUILD_ROOT и др. содержат в пути компоненту 'ArchiveIntermediates'. Ненадежно, поскольку подозреваю может меняться от версии к версии XCode.

Вариант второй
Задать для архивирования специальную конфигурацию, тогда переменная окружения CONFIGURATION подскажет скрипту надо ли накинуть номер билда.

мы для себя решили эту проблему используя билдскрипты для упаковки в ipa — в дальнейшем прикрутили к дженкинсу и уже полгода всё работает как часы — если интересно, могу написать статью
Конечно интересно.
Очень интересно, буквально вчера у себя на работе поднимал Jenkins. Будет интересно сравнить настройки
зачем изобретать велосипед?
agvtool bump -all
Я записываю во время сборки номер ревизии SVN в Info.plist.
Это имеет большее отношение к процессу разработки, чем номер сборки.
Поделитесь методом, если не сложно.
Пожалуйста:

REV=`/usr/bin/svnversion -nc ${PROJECT_DIR} | /usr/bin/sed -e 's/^[^:]*://;s/[A-Za-z]//'`
/usr/libexec/PlistBuddy -c «Set :CFBundleVersion $REV» "${TARGET_BUILD_DIR}"/${INFOPLIST_PATH}

Добавляется в виде скрипта в «Build Phases» таргета. Использую в своих проектах, за универсальность не ручаюсь.
Заранее прошу прощения за оффтопик.
Подскажите как опубликовать приложение в App Store. Вроде все делаю правильно, добавил туда описания, потом пытаюсь загрузить, а он выдает ошибку, что у меня сертефикат не тот. Вычитал, что для публикации нужен не сертефикат девелопера, а другой, вроде пошел делать, сделал, но один, говорит, что ему пары не хватает. Где брать второй сертефикат?
Огромное спасибо за любую помощь.
Ответил вам в личную почту
Почитай мануал от Эппла, там всё понятно расписано. Тебе нужен Distribution сертификат, а не девелопера. Для этого нужны права агента. Пиши в ЛС если не разберёшься
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории