Xcode11 shell脚本获取不到版本号问题

2020-04-20  本文已影响0人  JQShan1993

在Xcode 11之前 ,我使用了一个脚本来读取当前应用程序版本(适用于AppStore)并帮助我更改LaunchScreen,动态获取版本号:

#用脚本获取info.plist里面的版本字段
versionNumber=$(/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" "./目录/info.plist");
#我在LaunchScreen.storyboard里面拖了一个UILabel进去,取名为AppVersion
sed -i bak -e "/userLabel=\"AppVersion\"/s/text=\"[^\"]*\"/text=\" $versionNumber\"/" ./目录/LaunchScreen.storyboard;

但是在Xcode 11中 ,项目的构建设置中有一个新的部分称为Versioning
并且CFBundleShortVersionString自动更改为$(MARKETING_VERSION) 。 Xcode会自动处理该问题, 我不想手动将其更改为静态数字 ,而是让Xcode进行处理。
经过一番探索发现,可以像使用其他任何项目变量一样使用它:

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"
上一篇 下一篇

猜你喜欢

热点阅读