2012-05-16 47 views
1

我使用的Xcode 4.3和我都遵循这个用户的步骤创建脚本:版本和构建信息错误的Xcode 4

Version vs build in 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

你的版本号有一个浮点值,所以更改您的代码

#!/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" 

this SO post建议。