アプリアイコンにビルド情報を載せて諸々捗らせる

  • 31
    いいね
  • 2
    コメント

問題

社内でプロジェクト関係者の人が開発版のアプリを社内サーバーから入れて試してもらえるようになっているのですが、こんな問題がありました。

  • APIサーバーの環境ごとに複数アプリを書き出して共存させていて、インストール後にどのアプリがどこに繋がるのかがパッと見てわからない
  • 不具合が発生したアプリのコミットIDがわからない(不具合が発生した報告を貰ったが実は後のコミットで修正済みだった、など)
  • どのブランチのアプリなのかパッと見てわからない

(そもそも開発フローやルールの問題というのもありそうですが...)

解決法

アイコンにビルド時の情報を載せることで、ホーム画面からアプリの情報が簡単に把握できるようになりました。

やり方

ツールを
https://github.com/Tueno/IconHUD
に公開しました。

機能

  • ビルド日時・バージョン・コミットID・ブランチ名をアイコン画像の上に追加します
  • プロジェクト内のアイコンファイルを書き換えません(ビルド用の一時ファイルのみ上書きします)
  • TravisCI上での実行に対応(ブランチ名が正しく取得できないため別途処理が必要でした)
  • Releaseビルドでは動作しません(BuildConfig名をチェックしているので変更した場合はご注意下さい)
  • 必要に応じてDebugビルドでの処理を止められます

実行するとこんな感じになります。
iconhud_sample.png

プロジェクトに導入するには

brew tap tueno/iconhud
brew install iconhud

でインストール後に、プロジェクト設定の Build Phases -> Run Script(無い場合は左上の+から追加)に以下の1行を追加するだけです。

iconhud

ちなみに、ビルドディレクトリのアイコン画像を加工するので、プロジェクトに入っているアイコン画像を汚すことはありません。
また、Debugビルド時には不要な場合は

iconhud --ignore-debug-build

のようにオプションを指定してください。
(その他のオプションについては iconhud -h で確認できます。)

注意点など

※Releaseビルドでは動作しないようになっているので、社内配布用のBuildConfigを作成してご利用ください。
※アイコン画像が存在しない場合には対応できていません。
※昔の方法ですが、 Info.plist にアイコン画像ファイルを指定する方法には対応していません。

まだ少ない人数でしか使っていないため、抜け漏れや不具合などありましたらPRもしくはご指摘いただけると助かります!