2012-05-16 53 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建議。