2012-05-16 3 views
1

스크립트를 만들 내가 엑스 코드 4.3을 사용하고 있는데 나는이 사용자의 단계를 따라했습니다 : 나는 코멘트를 남길 수 있습니다처럼버전 및 빌드 정보 오류 엑스 코드 4

Version vs build in XCode

은 어떤 이유를 들어 보이게하지 않습니다 그곳에. StackOverlow의 답변 영역은 포럼/토론이 아니기 때문에 그 답변을 바탕으로 한 질문을 강요합니다. 번호 및 진수 번호

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

모두 동일한 쉘 오류가 반환됩니다 :

syntax error: invalid arithmetic operator (error token is ".0") 
command /bin/sh failed with exit code 1 
을 그가 빌드 버전을 증가하는 2 가지 방법을 인용 7 단계에서

요약 탭을 보았는데 버전과 빌드가 모두 1.0이었습니다. 이 값을 "1"로 변경하면 "4 행 1 + 1 : 구문 오류 : 잘못된 산술 연산자 (오류 토큰이"+1 ")가됩니다.

무엇이 잘못 되었나요? 이?

답변

4

빌드 번호 부동 소수점 값을 가지고 있으므로 this SO post에 제안

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

에 코드를 변경합니다.