Комментарии 15
У себя генерим хедер с содержимым git describe и отображаем версию где-нибудь в приложении. Подход, описанный в статье имеет право на жизнь, но при условии, что над проектом работает только один человек. Иначе придется убрать Info.plist из под контроля версий (а ему контроль версий все-таки нужен) или исправлять конфликты после каждого слияния.
А есть способ увеличивать версию только в момент Build->Archive когда создается *.ipa?
Скорее всего только косвенно можно определить, что сборка выполняется для архива. При запуске вашего скрипта будут выставленны переменные окружения, так вот по ним и можно определить, что идет архивирование.
Вариант первый
BUILD_DIR, BUILD_ROOT и др. содержат в пути компоненту 'ArchiveIntermediates'. Ненадежно, поскольку подозреваю может меняться от версии к версии XCode.
Вариант второй
Задать для архивирования специальную конфигурацию, тогда переменная окружения CONFIGURATION подскажет скрипту надо ли накинуть номер билда.
Вариант первый
BUILD_DIR, BUILD_ROOT и др. содержат в пути компоненту 'ArchiveIntermediates'. Ненадежно, поскольку подозреваю может меняться от версии к версии XCode.
Вариант второй
Задать для архивирования специальную конфигурацию, тогда переменная окружения CONFIGURATION подскажет скрипту надо ли накинуть номер билда.
мы для себя решили эту проблему используя билдскрипты для упаковки в ipa — в дальнейшем прикрутили к дженкинсу и уже полгода всё работает как часы — если интересно, могу написать статью
зачем изобретать велосипед?
agvtool bump -all
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» таргета. Использую в своих проектах, за универсальность не ручаюсь.
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» таргета. Использую в своих проектах, за универсальность не ручаюсь.
Вот я недавно у себя в блоге описывал как я это делаю с применением GIT
www.prudnikov.com/2011/10/blog-post.html
www.prudnikov.com/2011/10/blog-post.html
Заранее прошу прощения за оффтопик.
Подскажите как опубликовать приложение в App Store. Вроде все делаю правильно, добавил туда описания, потом пытаюсь загрузить, а он выдает ошибку, что у меня сертефикат не тот. Вычитал, что для публикации нужен не сертефикат девелопера, а другой, вроде пошел делать, сделал, но один, говорит, что ему пары не хватает. Где брать второй сертефикат?
Огромное спасибо за любую помощь.
Подскажите как опубликовать приложение в App Store. Вроде все делаю правильно, добавил туда описания, потом пытаюсь загрузить, а он выдает ошибку, что у меня сертефикат не тот. Вычитал, что для публикации нужен не сертефикат девелопера, а другой, вроде пошел делать, сделал, но один, говорит, что ему пары не хватает. Где брать второй сертефикат?
Огромное спасибо за любую помощь.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Автоматическое увеличение номера сборки в Xcode