Грешка в информацията за версията и компилацията Xcode 4

Използвам 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"

И двете връщат точно същата грешка на обвивката:

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

Отидох в раздела с резюме и версията и компилацията бяха 1.0. Ако променя това само на "1", грешката е "ред 4 1 + 1: синтактична грешка: невалиден аритметичен оператор (означението за грешка е " + 1")

Какво правя грешно и какво мога да направя, за да поправя това?


person Demasterpl    schedule 16.05.2012    source източник


Отговори (1)


Вашият номер на компилация има стойност с плаваща запетая, така че променете кода си на

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

person tilo    schedule 15.06.2012