読者です 読者をやめる 読者になる 読者になる

XcodeでArchiveするたびにBuild番号を自動更新する方法

前々からやろうやろうと思っていたアーカイブ時のビルド番号の自動更新。
ようやく重い腰を上げてやってみました。
多分これが最もシンプルな方法です。


1. XcodeのBuild PhaseにRun Scriptを追加する。

2. 以下のコードをコピペする。内容はInfoPlistファイルからビルド番号を取得して+1して元のファイルに書き込んでいるだけ。

infoPlistFile="${SRCROOT}/${INFOPLIST_FILE}"
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${infoPlistFile}")
buildNumber=$((${buildNumber%%.*} + 1))
/usr/libexec/PlistBuddy -c "Set:CFBundleVersion $buildNumber" "${infoPlistFile}"

3. Run script only when installingにチェックを入れる。ここにチェックを入れることでアーカイブ時にのみScriptが実行されるようになる。

4. Run Scriptを出来るだけ上の方にドラッグする。実行する順番を早くするため。

5. ターゲットが複数ある場合はそれぞれに同様にRun Scriptを追加する。


以上でアーカイブするたびにビルド番号が自動で1ずつ増加するようになります。


初めはもっとシンプルにagvtool next-version -allをRun Scriptで実行しようとしたのですが、それだとアーカイブが必ずキャンセルされてしまいました。
色々調べていたところ上記のやり方に至りましたが、その中で見つけた@es_kumagaiさんの記事が詳しくて参考になりました。ありがとうございます。
program.station.ez-net.jp