カテゴリー

役立ち情報

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がリリースされ

[Flutter] URIをネイティブからFlutter側に渡すためのベストプラクティス (多分)

2023/08/25・役立ち情報

ネイティブからFlutterにURIを渡すためには、EventChannelを利用すると思います。単純にFlutter側でmain()でリスナーを設定し、ネイティブでapplication(_:open:options:)やonNewIntentなどでURIを送り込むと、アプリ起動中にURIが流れてきた場合は動作するしれませんが、URIによってアプリが起動された際にはURIを渡すことができません。

【Xcode 15/iOS/WidgetKit】"Error (Xcode): Cycle inside Runner; building could produce unreliable results." エラー

2023/08/08・役立ち情報

久々にFlutterアプリをビルドしようとしたら、以下のようなエラーが発生して失敗する問題が起きた。Flutter 3.10.6Xcode 15.0 Beta 4Appleのエラーメッセージは非常に分かりにくいのですが、改めて隅々まで読んでみると Build Phasesの順序が問題で、[CP] Embed Pods FrameworksとThin BinaryのBuild Phaseは、Widg

【GitHub Actions】Windowsホストで$GITHUB_OUTPUTが使えない

2023/06/08・役立ち情報

以下のように、WindowsホストランナーでOutputしようとするとうまくいかない。WindowsホストのシェルであるPowershellにおいては、環境変数にアクセスするにはenv:のプレフィックスが必要な模様。

【Nuxt3】SSG時に、サイトマップを動的ルートも含めて全自動で生成する方法

2023/06/01・役立ち情報

Google Search Index用にサイトマップを作りたくなった。サイトマップの生成自体はsitemapパッケージでどうにかなるが、いちいち全部のルートを取得してリストを作るのは面倒臭い。そこで、nitroに備わっているクローラーを使って、サイト内にあるリンクからルート一覧を生成してみる。nitroのクローラーは、HTMLに含まれる、「/」で始まるhref属性を含むタグを自動的に認識し、リン

【IntelliJ IDEA + macOS】GPGで署名してgit commitするとエラーが発生する問題の対処法

2023/03/22・役立ち情報

IntelliJ IDEA (というか全Jetbrains IDEで共通) でGitのコミットを署名する設定を、Macでこれに従って設定したところ、以下のようなエラーが出てコミットできなくなった。いろいろ調べた結果、パスワード入力用のダイアログの表示に失敗している様子。GPGではセキュリティーのためか、pinentryというソフトでGUIのパスフレーズ入力ダイアログを出し、コンソールに直接パスフレ