«Set:CFBundleVersion $ BuildNumber» не устанавливает увеличенный номер сборки в XCode 12

#ios #swift #xcode #build #xcode12

#iOS #swift #xcode #сборка #xcode12

Вопрос:

Я добавил следующий скрипт для увеличения моего номера сборки в XCode 12 в разделе этапы сборки

 #!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${INFOPLIST_FILE}")
buildNumber=$(($buildNumber   1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${INFOPLIST_FILE}"
 

Но номер сборки не увеличивается. Когда я использовал альтернативный сценарий, номер сборки увеличивался неправильно и варьировался от 0000 до 0006. Мне действительно не нужны начальные нули, но, по крайней мере, этот скрипт менял сборку, поэтому я перечисляю его здесь.

 #!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber   1))
buildNumber=$(printf "d" $buildNumber)
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
 

Может кто-нибудь сказать мне, в чем проблема с первым скриптом? Раньше это работало в прошлом. И я убедился, что xcode указывает на правильный Info.plist файл.

Ответ №1:

Попробуйте это:

 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}"
 

И! УБЕДИТЕСЬ, ЧТО (BundleVersion) содержит ЧИСЛО!

скриншот xcode

Запустите этот скрипт перед:

 /usr/libexec/PlistBuddy -c "Set :CFBundleVersion 1" "${PROJECT_DIR}/${INFOPLIST_FILE}"