2014-09-04 5 views
4

Itunes требует как номер версии (CFBundleShortVersionString) и Номер сборки (CFBundleVersion) быть увеличивается для того, чтобы сделать обновление для приложения. Вопрос: будет ли значение версии Bundle когда-либо сброситься, когда я увеличу номер версии? Например, если я обновляю версию 2.2.1 (номер сборки 9.5) в текущем хранилище до версии 2.3.0 (Build Number 1.0), это будет разрешено? Или номер сборки должен быть> = 9.6? Что такое соглашение для номера сборки? Существует ли такое соотношение между номером версии и номером сборки? Для меня просто не имеет смысла отслеживать старый номер сборки из предыдущей версии.ITunes Connect Номер сборки Сбросить

ответ

0

Номер сборки на самом деле не отображается для пользователя, так что на самом деле не имеет значения, что вы там положили. Apple хочет, чтобы вы его увеличили, поэтому просто введите там номер высоты;) Какой номер сборки обычно используется для отслеживания вашего внутреннего «числа» построенных вами билдов. Многие люди используют автоматические инкрементальные сборки для этого, но более сложные компании управляют им явно.

Поскольку вы, похоже, не заботитесь о номере сборки, вы можете просто использовать автоматический скрипт и никогда не смотреть на него снова. Я использую этот скрипт:

#!/bin/sh 
plist="$1" 
dir="$(dirname "$plist")" 
buildnum=$(/usr/libexec/Plistbuddy -c "Print CFBundleVersion" "$plist") 

IFS="." 
save="" 
out="" 
for i in $buildnum 
do 
out=$out$save 
save="$i." 
done 
A=($save) 
save=${A[0]} 
save=`expr $save + 1` 
save=$(printf "%05d" $save) 
out=$out$save 
IFS="ABVVVV" 
buildnum=$out 
/usr/libexec/Plistbuddy -c "Set CFBundleVersion $buildnum" "$plist" 

Скопируйте и вставьте код в файл с расширением».sh'-расширения в файловой системе, где вы никогда не удалить его (или в ваш проект реж), а затем перейти на ваш Xcode проект, слева выберите название проекта (откройте настройки проекта), нажмите на цель сборки, перейдите к «фазам сборки». Затем новый этап сборки типа «Run Script»

Для «Shell» вставить /bin/sh и в строке кода ниже вставки

#/bin/sh 
/Users/..PutThePathToTheScriptYouSavedAboveHere.sh "${PROJECT_DIR}/${INFOPLIST_FILE}" 

Я использую строить версии, используя X.XX.XXXXX скрипт будет просто увеличьте последнее число.

+1

Это фактически не отвечает на первый вопрос: «будет ли значение версии Bundle сброшено, когда я увеличу номер версии?» – havak5

0

В iOS вы можете сбросить номер сборки (CFBundleVersion) в любое время, когда вы обновляете номер версии (CFBundleShortVersionString).

Это вам необходимо в вашем проекте Xcode. Номер версии или сборки никогда не автоматически сброс.

Apple Technical Note TN2420, Version Numbers and Build Numbers

IOS:

для IOS приложений, построить номера должны быть уникальными в пределах каждого поезда релиз, но они не должны быть уникальными в разных поездах выпуска. То есть, для приложений iOS вы можете использовать те же номера сборки снова в разных выпусках, если хотите.

Mac OS:

Однако для MacOS приложений, построить числа должны монотонно возрастать даже в разных версиях. Другими словами, для приложений MacOS вы не можете использовать одни и те же номера сборки в разных выпусках.