iOSのOTAアプリ配信への対応とAIチェンジログ自動生成機能の導入
2026年5月23日(土)から5月30日(土)までに進めた、iOSアプリのOTA(Over-The-Air)インストール配信機能、AIによるチェンジログの自動生成機能、Firebase FunctionsのDart移行、およびダッシュボードにおける各種UI/UXの改善についてまとめました。
今週のハイライト
主な変更を、導入判断に関係する粒度でまとめています。
- 01iOS OTAアプリ配信
- QRコードやモバイル案内によるWebベースのOTAインストールおよび、インストール時の自動バックグラウンド(アプリ最小化)処理の型安全な実装。
- 02AIチェンジログ自動生成
- 成功したビルドジョブからGeminiが自動で変更履歴を要約する機能の導入。
- 03Functions Dart移行
- バックエンドロジックのDart移行とCI/CDパイプラインの整備。
iOSアプリのOTA(Over-The-Air)配信機能とインストールのカイゼン
ビルドしたipaファイルをダッシュボードから直接モバイルデバイスへ配信・インストールできるOTA機能を本格サポートしました。
Webベースでのインストール体験を向上させるため、QRコード表示機能や、モバイル端末での具体的な操作ガイドを追加しました。
さらに、アプリ内の「Direct Install」をタップした際、OSのインストールプロンプトが表示されると同時に、インストール状況(ホーム画面の進捗)をユーザーが確認しやすくする目的で、自動的にアプリをバックグラウンドに送る(最小化する)挙動を実装しました。
このアプリ最小化処理をiOSネイティブで型安全に実現するため、Pigeonベースの app_minimizer_plus パッケージを新規に切り出し、テストコード(Patrol)を含めて整備しました。これにより、より信頼性の高いインストールフローを提供しています。
AI(Gemini)によるビルドジョブチェンジログの自動生成
ビルドジョブが正常に完了した際、前回のコミットなどからの差分情報を元に、AI(Gemini)が自動的にチェンジログを生成する機能を実装しました。
プロジェクト全体でGeminiとの統合を最適化・共通化し、開発者が手動でログをまとめなくても、何が変更されたかをビルド履歴から一目で把握できるようになりました。
Firebase FunctionsのDart移行とCI/CDの整備
既存のTypeScriptで実装されていたバックエンドロジックの一部(cancelBuildJob など)を、Dartで記述されたFirebase Functionsへと移行しました。
これに伴い、macos_updater や Dart製 Functions のCI/CDパイプラインも新規に構築し、サーバーレスコードの変更に対する自動テストとデプロイの仕組みを強化しました。
ダッシュボード UI/UX の細やかなブラッシュアップ
- チームメンバー招待UIの最適化: チームメンバーを招待するUIにおいて、デスクトップおよびWebブラウザ環境では従来のBottomSheet表示ではなく、画面中央で扱いやすいDialog表示へと最適化を行いました。
- カンバンボードの整理: カンバンボード(Issue Board)では、ヘッダーの整理、カラム境界線の追加、マウスクリック時のカーソル形状の調整(クリック可能であることがわかりやすいポインター表示)などの調整を行いました。
- UDIDのマスク機能: デバイス管理画面にてUDID(ユニークデバイスID)のマスク表示とトグル表示切り替えをサポートし、セキュアな運用を可能にしました。
- コピーフィードバックの強化: テキストのコピー操作時にアニメーションチェックアイコンによる視覚的なフィードバックを追加し、操作の完了が直感的に伝わるように改善しました。
Gitブランチ開発フローの簡素化
開発者の負担を軽減するため、複雑になっていたローカルのブランチ作成機能を廃止し、リモートリポジトリへPushするだけで自動的にPull Requestを作成するシンプルなフローへと開発プロセスをスリム化しました。