3

すべてのビルドでビルド番号を自動インクリメントするために、このスクリプトを作成しました。

#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" $INFOPLIST_FILE)
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" $INFOPLIST_FILE

「バンドルリソースのコピー」の前のビルドフェーズに挿入しました。次のようなエラーが表示されます。

コマンド /bin/sh が終了コード 1 /Users/ricardodelfingarcia/Library/Developer/Xcode/DerivedData/Flat_Wars-bhkfhubvxegpazcnqcswodoejxeo/Build/Intermediates/Flat Wars.build/Debug-iphoneos/Flat Wars.build/Script-B6B328B815AA6F9900C26C37.sh で失敗しました: 4 行目: ファイルが存在しないため、作成されます: Flat Invalid Arguments + 1.0: 構文エラー: 算術演算子が無効です (エラー トークンは "'t Exist, Will Create: Flat Invalid Arguments + 1.0" です) 解析エラー: 閉じられていない引用符の値Set コマンドに必要

何が問題ですか?

4

3 に答える 3

3

問題は、ディレクトリ名にスペースがあることです。

これはうまくいきます:

#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
于 2013-03-10T01:22:14.510 に答える
0

CFBundleVersionInfo.plist に存在するかどうかを確認します。

スクリプトがCFBundleVersion存在しないと作成できず、機能しなくなります。CFBundleVersionInfo.plist に追加するだけで、スクリプトによって更新されます。

于 2013-01-22T21:19:40.263 に答える