Xcodeでプロジェクトのビルド番号を自動的に更新する

アプリケーションをテスターまたはエンドユーザーに転送するときは、プロジェクトのバージョン/ビルド番号を増やすことを忘れないでください。これにより、将来インストールされたアプリケーションを簡単に識別できるようになります。

ご存知のように、メモリは時々失敗します。 ここに、プロジェクトのビルド番号を自動的に設定するためのシンプルで効果的な奇跡のレシピがあります。

簡単な説明を含む完成したプロジェクトは、 github.github.com / eshurakov / XcodeAutoBundleVersionで入手できます。

アプリケーションのバージョンをインストールするには、開発者には2つの変数があります。
CFBundleShortVersionStringアプリストアに表示されるマーケティングバージョン 。 これは、ドットで区切られた3つの数字で構成される文字列です。 リリースされたアプリケーションの反復を示します。 このバージョンは常に手動で変更します。
CFBundleVersionビルド番号 これは、ドットで区切られた1つ以上の数字で構成される単調に増加する文字列です。 リリース済みアプリケーションまたは開発アプリケーションの反復を示します。

詳細については、Appleが提供するドキュメントを参照してください: developer.apple.com/library/mac/#documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html

開発中はすべてバージョン管理システムを使用するため、明らかな解決策はビルド番号として最新のリビジョン番号を使用することです。


6つの簡単な手順でプロジェクトをセットアップします。


  1. スクリプトをプロジェクトフォルダーに保存します。 このスクリプトはビルド番号を計算し、転送されたファイルに書き込みます。
  2. プロジェクトで、Aggregateタイプの新しいターゲットを作成します。 「バージョン」という名前を付けました。 ビルドフェーズで、スクリプトを呼び出す場所からスクリプト実行フェーズを追加します。
     GIT_BRANCH="master" PREFIX="XC_" /bin/sh "${PROJECT_DIR}/Version.sh" "${PROJECT_DIR}/Version.h" 

    スクリプトで使用される環境変数:
    プレフィックス
    生成された定数のプレフィックスは存在しない場合があります。
    GIT_BRANCH
    ビルド番号が考慮されるgitリポジトリブランチ。 デフォルトは「マスター」です。
    PROJECT_DIR
    プロジェクトフォルダーへのパス。 Xcodeからスクリプトを実行するとき、この変数はすでに設定されています。

    結果のヘッダーファイルの例:
     #define XC_BUILD_NUMBER 7 #define XC_BUILD_HASH @"c2acb9b" 

    コンパイル時にInfo.plistプロジェクトファイルを生成するために使用します。 また、プロジェクトに接続し、独自の裁量で使用することもできます。たとえば、「アプリケーションについて」画面にコミットのハッシュを表示します。

  3. メインターゲットのビルド設定を変更する:
    Info.plistファイルの前処理
    はい
    Info.plistプリプロセッサプレフィックスファイル
    Version.h

  4. Info.plistで、 CFBundleVersionの値をXC_BUILD_NUMBERに変更します
  5. メインターゲットへの依存関係として、新しく作成した集計ターゲットを追加します。
  6. Version.hファイルは、バージョン管理システムの無視シートに追加されます。


これで、プロジェクトのビルドごとに、Version.hファイルが更新され、Info.plistが更新されます。

githubのテストプロジェクト: github.com/eshurakov/XcodeAutoBundleVersion

Source: https://habr.com/ru/post/J162575/


All Articles