iOS开发者进阶

xcode11bulidversion自增报错的处理(error

2020-05-07  本文已影响0人  __Mr_Xie__

前言

在我们 iOS app 打包时,构建版本号是自增的,一般我们都会通过脚本来实现。
升级到 Xcode 11 时,我们会发现以前打包脚本中获取构建版本号的代码:

buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))

不能正常获取到构建版本号,编译项目的时候,会出现如下错误:
error token is "$(CURRENT_PROJECT_VERSION) + 1"

错误截图

编译报错原因

Xcode11 中,如果你修改了版本号和构建版本号,Xcode 会把 info.plist文件中的 CFBundleVersion 修改为$(CURRENT_PROJECT_VERSION)CFBundleShortVersionString 修改为 $(MARKETING_VERSION),这是由于 Xcode11 增加 了 Current Project Version (构建版本号) 和 Marketing Version(版本号) 配置,在 build setting 中我们可以找到,截图如下:

解决方案

以下我们把完整的构建版本号自增的脚本代码做一个对比:

buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")

buildNumber=$(($buildNumber + 1))

/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
buildNumber=$CURRENT_PROJECT_VERSION

buildNumber=$(($buildNumber + 1))

/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"

就这样,问题就完美的解决了。

Author

如果你有什么建议,可以关注我的公众号:iOS开发者进阶,直接留言,留言必回。

上一篇 下一篇

猜你喜欢

热点阅读