カテゴリー

役立ち情報

Workload Identity 連携で認証する、Google Play Store へのアプリのデプロイ【GitHub Actions】

2025/10/25・役立ち情報

この記事では、Google Cloud の Workload Identity 連携を活用し、シークレット情報を直接 GitHub 上に置かずに GitHub Actions から Google Play Store へのアプリデプロイを実現する方法を解説します。まず、事前準備として、Google Cloud上にアプリ用のプロジェクトを作成します。既にFirebaseの利用やSign in wit

FVMを使って Flutter をセットアップする GitHub Actions アクション、setup-fvm

2025/10/23・役立ち情報

今回は、私が作成した GitHub Actions 用アクション「setup-fvm」をご紹介します。本アクションは、FVMを導入しているプロジェクト向けに、Flutterの環境構築とキャッシュを一発で行えるアクションです。具体的には、までこのアクションで行います。アクションを呼び出すだけでFlutterがfvm flutter経由で利用できるようになるため、非常に簡単です。自分のワークフローで呼

Firebase Functions のバンドラーとして Bun を使用すると、Firestore の API 呼び出しがバグる問題

2025/10/19・役立ち情報

以下のようなディレクトリ構造で、Firebase Cloud Functions のソースとなる TypeScript コードを、Bun を用いてバンドル化する運用をしている。親のpackage.jsonlibのpackage.json例えば、以下のようなコードがあるとする。デプロイしてトリガーしてみると、以下のような訳のわからないエラーが出て失敗する。Firestore関連のAPI呼び出しは、内

ラベル付きのチェックボックス/ラジオボタン【Flutter 3.35 対応】

2025/08/22・役立ち情報

一般的なチェックボックスのユースケース(設定画面など)においてはCheckboxListTileを使うことで、ラベル付きのチェックボックスが実現できます。しかし、横方向に大量のチェックボックスを並べたいとき(画像参照)には、やはり「ラベル付きのチェックボックス」というウィジェットが欲しいところです。今回は、私が使っているサンプルを載せますので、適宜カスタムして使ってみてください〜RowでCheck

Firebase AuthのメールリンクをDynamic Linksから移行する時にハマったこと【どこで実行すれば良いんだ】

2025/06/26・役立ち情報

来る今年の8月、短縮リンクサービスであるDynamic Linksはサービスを終了するため、別の方法への移行が迫られている。そんな中でも、Firebase Authenticationで送信されるメールで使用するリンクは、Dynamic Linksとは別の仕組みで提供が続けられるということで、私のアプリでも移行作業を行っていた。全体の移行方法は https://firebase.google.co

flutter_hooksでList, Set, Mapに対応したuseState関数作ったよ

2025/01/06・役立ち情報

以下のコードは、Set(Listの重複無し版)を書き換えた際にHookStateのsetStateメソッドが走るように改造したuseState関数。List、Mapでもこれに倣って作れます。関数名が非常に紛らわしいね

【Flutter Golden Test】実際のフォントを反映させる【google_fonts, material_symbols_icons】

2024/12/29・役立ち情報

Flutterには、ウィジェット等の描画結果をpngとして出力し、その差分をピクセル単位で測定することで意図した表示となっているかどうかをテストする「Golden Test」と呼ばれる手法がある。ここでは、文字を表示させた際の描画結果も当然重要になってくるが、Flutterのテスト環境ではデフォルトで真四角のフォントが使用されるため、Golden Testを行う際には不都合が生じる。Flutter

【Flutter】DraggableScrollableSheetの最大高さを子要素のサイズに合わせたい!

2024/08/01・役立ち情報

今回はタイトルの通り、DraggableScrollableSheetにおけるmaxChildSizeを子要素の実際のサイズに合わせる方法を解説します。DraggableScrollableSheetのコンテンツの高さが場合によって変わる場合、展開したときの最大サイズをそのコンテンツの高さに合わせたい場合があると思います。何も指定ない状態では、以下のようにコンテンツの量に対してシートが多くの面積を

【Bun】bun.lockb でマージコンフリクトが起こった際の対処法

2023/10/21・役立ち情報

Bunを使っていてGitでマージしようとした時、ロックファイルがコンフリクトすることがあります。しかし、Bunのロックファイルはバイナリなので、手作業でコンフリクトの解決をすることができません。以下は、Bunの自動コンフリクト解決機能を用いる方法です。これでコンフリクトが解消できます。

Xcode 15.0 Beta 5以降、pod install に失敗する問題の対処法

2023/08/27・役立ち情報

Xcode 15.0 Beta 5以降、こんなエラーが出て CocoaPods の pod installに失敗する。この不具合は既にIssueが立っており、修正がマージされている。しかし、v1.13.0にマイルストーンが立っており、リリースは進捗的に少し先になりそうな様子。それまでは以下の対処法でビルドを通すことができる。2023/09/25追記: この問題の修正版、v1.13.0がリリースされ