久しぶりにビルドナンバーの自動更新などしようかと思っていたら、Xcode13でInfo.plistがなくなっており、以前から使っていたやり方が使えなくなっていました。ぐぐっても直接的な解答がみつからなかったので、メモ。要点は、agvtoolコマンドを使うということでした。
対処としては、Build PhaseにRun Scriptを追加し、以下のスクリプトを設定しました。
NEW_VERSION=$(git rev-list HEAD | wc -l | tr -d ' ') agvtool new-version ${NEW_VERSION}
gitのコミット数で更新するようになっています。
16進数が好みなので、実際は以下にしています。
NEW_VERSION=$(git rev-list HEAD | wc -l | tr -d ' ' | xargs -n1 printf '%X') if [ $(git diff HEAD --stat | wc -l | tr -d ' ') -ne 0 ]; then NEW_VERSION=$(expr ${NEW_VERSION} + 1) fi agvtool new-version ${NEW_VERSION}