LoginSignup
10
11

More than 5 years have passed since last update.

Xcodeのrun scriptで、iOSアプリのビルド番号を手軽に自動採番する

Last updated at Posted at 2016-05-26

会社のプロジェクトでCircle CIなどのCIサービスは使えない、
でもiOSアプリのビルド番号を自動採番したい!ってケースがあったので、
scriptを書いてみました。
El CapitanからPlistBuddyが使えなくなったため、
defaultsコマンドとplutilを使っています。

El CapitanからPlistBuddyが使えなくなったというのは私の勘違いでした。。。
10.11.5で確認したところ、/usr/libexec/PlistBuddyに存在しています。
ご指摘くださった@takasekさん、ありがとうございます!

やり方

以下のscriptのpath/to/Infopath/to/Info.plistを自分のプロジェクト用に
書き換えて、Xcodeのrun scriptに追加するだけです。
1行目のpath/to/InfoもInfo.plistへのpathなのですが、拡張子は不要です。

build_number=$(defaults read "path/to/Info" CFBundleVersion)
build_number=$((build_number + 1))
/usr/bin/plutil -replace CFBundleVersion -string $build_number "path/to/Info.plist"

今まで通り、PlistBuddyを使って以下のようにも記述できます。(10.11.5で動作確認済)

build_number=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "path/to/Info.plist")
build_number=$(($build_number + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $build_number" "path/to/Info.plist"

その他

かっこよくバージョニングしたいならこちらのほうが良いかもしれません。
これがXcodeでのバージョニングの決定版になるかも

10
11
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
11