Xcode-Increment номер сборки только во время ARCHIVE?
Я нашел несколько других сообщений, которые показывают, как добавить script, чтобы увеличить номер сборки с помощью script:
Лучший способ увеличения номера сборки?
Проект Xcode" Номер сборки "
Может ли Xcode вставить номер версии в имя файла библиотеки при создании?
Но то, что я хочу сделать, только увеличивает номер сборки, когда я использую ARCHIVE (как до, так и после).
Пример:
Если текущий номер сборки равен 21, тогда, когда я выберу Product > Archive, номер сборки будет увеличен до 22, он выполнит свой процесс построения и создания файла архива с номером сборки 22, а затем, когда он закончит архивирование, это увеличит номер сборки до 23.
Ответы
Ответ 1
Добавьте следующий script, как в примере, указанном в первой ссылке, которую вы опубликовали, но сделайте это дважды. Однажды в начале сборки и один раз в конце:
if [ $CONFIGURATION == Release ]; then
echo "Bumping build number..."
plist=${PROJECT_DIR}/${INFOPLIST_FILE}
# increment the build number (ie 115 to 116)
buildnum=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${plist}")
if [[ "${buildnum}" == "" ]]; then
echo "No build number in $plist"
exit 2
fi
buildnum=$(expr $buildnum + 1)
/usr/libexec/Plistbuddy -c "Set CFBundleVersion $buildnum" "${plist}"
echo "Bumped build number to $buildnum"
else
echo $CONFIGURATION " build - Not bumping build number."
fi
Большое спасибо авторам вопросов, с которыми вы связались в своем вопросе, за информацию, которая заставила меня начать этот ответ!
Ответ 2
Это очень похоже на ответ @Inafziger, но более сжатый набор кода с дополнительным преимуществом, что проверка "Release" выполняется с помощью флажка в XCode, а не переменной времени выполнения:
![enter image description here]()
Следуйте этим инструкциям дважды, перетаскивая их в начало и в конец:
# xcode-build-bump.sh
# @desc Auto-increment the build number every time the project is run.
# @usage
# 1. Select: your Target in Xcode
# 2. Select: Build Phases Tab
# 3. Select: Add Build Phase -> Add Run Script
# 4. Paste code below in to new "Run Script" section
# 5. Drag the "Run Script" below "Link Binaries With Libraries"
# 6. Ensure that your starting build number is set to a whole integer and not a float (e.g. 1, not 1.0)
# 7. Check the checkbox "Run script only when installing"
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${PROJECT_DIR}/${INFOPLIST_FILE}")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${PROJECT_DIR}/${INFOPLIST_FILE}"
См. https://gist.github.com/sekati/3172554
Ответ 3
Xcode включает инструмент командной строки agvtool
для увеличения номеров версий. Поэтому вам не нужно делать все вручную с помощью PListBuddy
.
xcrun agvtool next-version -all
увеличивает ваш номер сборки.
xcrun agvtool new-marketing-version 2.0
устанавливает новый видимый номер версии для пользователя.
Подробнее см. полную документацию.