Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

kishikawakatsumi/BuildNumber

Repository files navigation

BuildNumber

準備1

  1. Build Settings > Preprocess Info.plist => Yes
  2. Build Settings > Info.plist Preprocessor Prefix File => BuildNumber.h
  3. Build Settings > Info.plist Preprosessor Definitions => DEBUG=1 (必要なら)

準備2

準備1が済んだら、続けて下記の設定を追加する Build PhaseにRun Scriptをビルドの前後に下記のように設定する。

  • ビルド前 touch BuildNumber/BuildNumber-Info.plist

  • ビルド後

    sh build_number.sh

準備3

最後に、Info.plistのBundle versions string, shortのところにはMARKETING_VERSIONBundle versionにはBUILD_NUMBERと入力する。

解説

準備1でInfo.plistのプリプロセスが有効になる。
準備3で設定したMARKETING_VERSIONBUILD_NUMBERはプリプロセスの過程で置換される。
置換する文字列はPreprocessor Prefix Fileとして指定したBuildNumber.hにマクロとして記入しておく。
BuildNumber.hをRun Scriptフェーズで生成する。

このようにすることで、Info.plistを変更すること無く、置換元のBuildNumber.hを書き換えることで、バージョンを書き換えることが可能になる。
BuildNumber.h.gitignoreで無視しておけるので、BuildNumber.hを書き換えても差分は出ない。

ビルド前にtouch BuildNumber/BuildNumber-Info.plistとしているのは、Info.plistの更新日付を新しくしないと、 差分ビルドでInfo.plistが変更対象にならないので、クリーンビルドしないとバージョンの変更が反映されないため。

問題点

初回だけはBuildNumber.hのファイルを作っておかないと(touch BuildNumber.h)、ビルドできない。
Compile Soucesの前にRun Scriptで作るのでは遅くてダメだった。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published