Подтвердить что ты не робот

Xcode-Increment номер сборки только во время ARCHIVE?

Я нашел несколько других сообщений, которые показывают, как добавить script, чтобы увеличить номер сборки с помощью script:

Лучший способ увеличения номера сборки?

Проект Xcode" Номер сборки "

Может ли Xcode вставить номер версии в имя файла библиотеки при создании?

Но то, что я хочу сделать, только увеличивает номер сборки, когда я использую ARCHIVE (как до, так и после).

Пример: Если текущий номер сборки равен 21, тогда, когда я выберу Product > Archive, номер сборки будет увеличен до 22, он выполнит свой процесс построения и создания файла архива с номером сборки 22, а затем, когда он закончит архивирование, это увеличит номер сборки до 23.

4b9b3361

Ответ 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

устанавливает новый видимый номер версии для пользователя.

Подробнее см. полную документацию.