ios – 如何在LaunchStoryboard中显示CFBundleShortVersionString?

有没有办法在我的LaunchStoryboard中显示CFBundleShortVersionString作为UILabel文本而不是每次递增时手动输入?我知道如何在代码中执行此操作,但是在显示LaunchStoryboard时无法运行代码.
是否可以通过 Xcode变量?

解决方法

我想出了更新版本和版本的脚本.根据第一个答案在LaunchScreen.storyboard上构建标签,而不使用任何额外的文件.不幸的是,由于一些语法错误和不正确的路径,Clemens brockschmidt的解决方案不起作用.

确保在Identity Inspector窗格中将标签命名为“APP_VERSION” – >文件 – >标签.

还要在“复制捆绑资源”阶段之前创建脚本.

这里是shell的最终工作脚本:/ bin / sh在XCode 9(Swift 4)中:

#   ON/OFF Script Toggle (script ON with #,script OFF without #)
#exit 0

#   Increment build number
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundLeversion" "${PROJECT_DIR}/${INFOPLIST_FILE}")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundLeversion $buildNumber" "${PROJECT_DIR}/${INFOPLIST_FILE}"

#   Output version & build numbers into a label on LaunchScreen.storyboard
versionNumber=$(/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" "${PROJECT_DIR}/${INFOPLIST_FILE}")
sed -i bak -e "/userLabel=\"APP_VERSION\"/s/text=\"[^\"]*\"/text=\"Version: $versionNumber Build: $buildNumber\"/" $PROJECT_DIR/$PROJECT_NAME/Base.lproj/LaunchScreen.storyboard

作为奖励,我已经包含了一个内置编号增量器和ON / OFF脚本切换,以便在您构建项目时禁用增量器.如果您有任何问题或者这对您有效,请告诉我.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...