Мне удалось воспроизвести сценарий фазы сборки from this SO question, который при каждом создании приложения увеличивает номер сборки. Может ли кто-нибудь предложить, как должен выглядеть скрипт, если я хочу, чтобы номер сборки был version.build
, т.е. если моя версия приложения 0.2, я бы хотел, чтобы мой номер сборки был установлен в 0.2.001, 0.2.002 и т. Д. Затем, когда я изменить номер сборки 0.3, я хочу сборки перезагрузить 001, так что я получаю 0.3.001, 0.3.002 и т.д.Скрипт Xcode для наращивания сборки на основе версии
Вот мой текущий сценарий:
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
UPDATE
Что я пытаюсь сделать, это следующее:
- Получить shortVersion из plist файла (e.x. 0,2)
- Получить BuildNumber из Plist файла (напр 0.2.007)
- отделяющего BuildNumber в 0,2 и 007
- Если 0,2 равен shortVersion, просто увеличивает 007 -> 008 и присоединиться к два снова так новый BuildNumber является 0.2.008
- Else (бывший shortVersion было изменено на 0.3), сбросьте номер сборки на 001 и присоединиться к их вместе, чтобы получить новый buildNumber as 0.3.001
К сожалению, я ничего не знаю о сценариях bash, поэтому я был бы признателен, если кто-то сможет предоставить сценарий.
Hi. Я пробовал свой скрипт, но он делает сборки, такие как 437.001, 438.001 и т. Д. Хотя номер версии (чуть выше номера сборки в Xcode) остается 0.2 – artooras
Все необходимые шаги объясняются в моем коде. Когда вы изменяете номер сборки до 0,3, вам придется сбросить сборку до 001 самостоятельно, так как сценарий bash не знает старую основную версию. Что касается версии, вам нужно будет использовать ключ 'CFBundleShortVersionString' – Lefteris
Но если вы получите старый номер сборки, который содержит 0.2, и сравните его с' CFBundleShortVersionString', который равен 0,3, тогда счетчик может быть сброшен на 001 по коду, не так ли? – artooras