Как прочитать текущую версию приложения в Xcode 11 с помощью скрипта - PullRequest
1 голос
/ 23 июня 2019

До 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 есть новый раздел в настройках сборки проекта под названием Управление версиями

enter image description here

И CFBundleShortVersionString автоматически изменяются на $(MARKETING_VERSION). XCode автоматически обрабатывает это, и Я не хочу менять его вручную на статический номер , и пусть XCode выполняет свою работу.

11

Таким образом, вопрос в том, как я могу получить доступ к этому новому MARKETING_VERSION и установить его для своей метки launchScreen, используя run script ?

1 Ответ

0 голосов
/ 08 июля 2019

Вы можете использовать его как любую другую переменную проекта:

sourceFilePath="$PROJECT_DIR/$PROJECT_NAME/App/Base.lproj/LaunchScreen.storyboard"
versionNumber="$MARKETING_VERSION"
buildNumber="$CURRENT_PROJECT_VERSION"

sed -i .bak -e "/userLabel=\"APP_VERSION_LABEL\"/s/text=\"[^\"]*\"/text=\"v$versionNumber\"/" "$PROJECT_DIR/$PROJECT_NAME/App/Base.lproj/LaunchScreen.storyboard"
...