Вы можете добавить фазу сценария выполнения для своей цели (этапы сборки> добавить этап сборки> добавить сценарий выполнения).Затем у вас будет скрипт оболочки, в котором вы можете использовать PlistBuddy, чтобы получить строку версии и установить ее в другом списке.
Например:
/usr/libexec/PlistBuddy -c "print:CFBundleVersion" "$CONFIGURATION_BUILD_DIR/$INFOPLIST_PATH"
будетотобразить строку версии вашего приложения.Если вы запишите это в переменную и установите значение в другом списке с помощью Plist Buddy -c set, все будет готово.
Это даст что-то вроде:
versionString=$(/usr/libexec/PlistBuddy -c "print:CFBundleVersion" "$CONFIGURATION_BUILD_DIR/$INFOPLIST_PATH")
/usr/libexec/PlistBuddy -c "Set CURRENT_VERSION_NO $versionString" "$THE_PATH_TO_YOUR_PLIST_FILE"
Я никогдаиспользовал копию PlistBuddy -c, но это должно позволить вам сделать это только в одной строке.