【iOS】Fastlane で Version と Build Number を取得して使えるようにする
今回は、Fastlane
でアプリの Version
や Build Number
を取得したい時の Tips を紹介します🧑🔧
Version
の取得
PlistBuddy
を使用することで、Info.plist
の値を操作しやすくすることができます。CFBundleShortVersionString
はアプリのバージョンを指しています。その他の Bundle Configuration
については下記を参照してください。
def read_version version = (`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" ../Parnovi/Info.plist`).strip return version end
Build Number
の取得
こちらは Version
の取得のように CFBundleShortVersionString
の値を CFBundleVersion
に変更すれば、Info.plist
に設定されている値を取得することも可能ですが、$(CURRENT_PROJECT_VERSION)
のように変数で定義されている場合もあるため、Build Settings から CURRENT_PROJECT_VERSION
の値を取得しています。また、xcodebuild
コマンドが Fastlane
ディレクトリ内で実行されると、Xcodeプロジェクトが見つからず正しい出力を得られないので、プロジェクトのルートでコマンドを実行するようにします。
def read_build_version version = (`cd .. && xcodebuild -showBuildSettings | grep CURRENT_PROJECT_VERSION | tr -d 'CURRENT_PROJECT_VERSION ='`).strip return version end
参考
- https://stackoverflow.com/a/59671351
- https://developer.apple.com/documentation/bundleresources/information_property_list/bundle_configuration
- https://tech.ryukyu-i.co.jp/2017/01/01/ios-versioning/
- https://qiita.com/QUANON/items/86ee0c154f99c15b5826