1

我正在使用 Xcode 4.3,并且我已按照此用户的步骤创建脚本:

版本与 XCode 中的构建

无论出于何种原因,我似乎都不能在那里发表评论。由于 StackOverlow 中的答案区域不是论坛/讨论,我有点被迫根据该答案提出问题。

在第 7 步中,他引用了 2 种增加构建版本的方法:数字和十六进制数字

#!/bin/bash    
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"

#!/bin/bash    
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$((0x$buildNumber)) 
buildNumber=$(($buildNumber + 1)) 
buildNumber=$(printf "%X" $buildNumber)
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"

两者都返回完全相同的 shell 错误:

syntax error: invalid arithmetic operator (error token is ".0")
command /bin/sh failed with exit code 1

我去了摘要选项卡,版本和构建都是 1.0。如果我将其更改为“1”,则错误为“第 4 行 1 + 1:语法错误:无效算术运算符(错误标记为“+ 1”)

我做错了什么,我能做些什么来解决这个问题?

4

1 回答 1

4

您的内部版本号有一个浮点值,因此将您的代码更改为

#!/bin/bash    
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=`echo $buildNumber +1|bc`
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"

正如这个 SO post中所建议的那样。

于 2012-06-15T08:49:31.057 回答