До Xcode 11 , я использовал скрипт, который считывает текущую версию приложения (для AppStore) и помогает мне изменить LaunchScreen, поскольку мы не можем использовать Swift для этого.
sourceFilePath="$PROJECT_DIR/$PROJECT_NAME/App/Base.lproj/LaunchScreen.storyboard"
versionNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "$INFOPLIST_FILE")
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
sed -i .bak -e "/userLabel=\"APP_VERSION_LABEL\"/s/text=\"[^\"]*\"/text=\"v$versionNumber\"/" "$PROJECT_DIR/$PROJECT_NAME/App/Base.lproj/LaunchScreen.storyboard"
Но в Xcode 11 есть новый раздел в настройках сборки проекта под названием Управление версиями
И CFBundleShortVersionString
автоматически изменяются на $(MARKETING_VERSION)
. XCode автоматически обрабатывает это, и Я не хочу менять его вручную на статический номер , и пусть XCode выполняет свою работу.
Таким образом, вопрос в том, как я могу получить доступ к этому новому MARKETING_VERSION
и установить его для своей метки launchScreen, используя run script ?