Чтобы автоматически обновлять даты сборки и номера сборки, я настроил скрипт запуска для фазы сборки в моей схеме:
# Auto Increment Version Script
buildPlist=${PROJECT_DIR}/${INFOPLIST_FILE}
CFBuildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBuildNumber" $buildPlist)
CFBuildNumber=$(($CFBuildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBuildNumber $CFBuildNumber" $buildPlist
# "Mon" is a hack, but day is needed, and in English
CFBuildDate=$(date "+Mon %b %d %H:%M:%S %Z %Y")
/usr/libexec/PlistBuddy -c "Set :CFBuildDate $CFBuildDate" $buildPlist
Пока это работает, недостатком является то, что схемы связаны спользовательские настройки, то есть они исключены из контроля версий и могут легко потеряться.
Как правильно решить эту проблему и сделать эти сценарии доступными для всех разработчиков?