gitのリビジョン(コミット)ハッシュとビルド時刻などの情報をアプリに埋め込みます。
ビルド時にコピー先のInfo.plistを書き換える方法については、これがXcodeでのバージョニングの決定版になるかも - TOKOROM BLOGが参考になります。
具体的には、上記サイトのまとめの項目にあるように
- ビルド設定の'Preprocess Info.plist File'(INFOPLIST_PREPROCESS)をYESにセットする
- Run Scriptで${TEMP_DIR}/Preprocessed-Info.plistを編集する
という操作が必要です。
あと、個人的に注意点として
- Run ScriptはCopy Bundle Resourcesより前に配置する
というのも大事だと思います。(後に配置すると1つ前のビルド結果が反映されてしまう)
自分の場合のRun Scriptは以下の通りです。
plistBuddy="/usr/libexec/PlistBuddy"prePlist="${TEMP_DIR}/Preprocessed-Info.plist"plist="${SRCROOT}/${INFOPLIST_FILE}"version=$($plistBuddy -c "Print CFBundleVersion" $plist)hash=$(git rev-parse --verify HEAD | head -c 7)date=$(date "+%Y/%m/%d %H:%M:%S")versionString="$version $hash $date"$plistBuddy -c "Set :CFBundleVersion $versionString" $prePlist
参考: date コマンド | コマンドの使い方(Linux) | hydroculのメモ
参考: Git - git-rev-parse Documentation
これで、アプリのアバウト画面(自動生成されるウインドウ)では
と表示されます。やったー!