2012-05-16 3 views
1

Я использую Xcode 4.3, и я следовал шаги этого пользователя, чтобы создать сценарий:Версия и сборка Информация Xcode Ошибка 4

Version vs build in XCode

По какой причине она не выглядит, как я могу оставить комментарий там. Поскольку область ответов в StackOverlow не является форумом/дискуссией, я немного вынужден задать вопрос, основанный на этом ответе.

На шаге 7 он ссылается на 2 пути для увеличения сборки версии: Номер и Hex Количество

#!/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 »)

Что я делаю неправильно и что я могу сделать, чтобы исправить это?

ответ

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.