👌

【Flutter】ホームウィジェットの実装(iOSのみ)

2025/01/10に公開

はじめに

個人で開発しているDreamBoxというバケットリストアプリで、
残りの寿命を表示するホームウィジェットを実装したので、備忘録として記述します。
DieWithZeroを参考に作ったアプリなので、興味のある方は是非使って見てください!
https://apps.apple.com/jp/app/dreambox-ドリームボックス/id6456941403

https://note.com/tatsukikane/n/nca01468536d0

実装

利用パッケージ

home_widget
https://pub.dev/packages/home_widget
基本的にはドキュメント通りで実装できます!

準備

App Groupsの作成

AppleDeveloperAccountからApp Groupsを作成する。

添付画像の箇所から任意のIDでグループを作成する。
私は'group.アプリのバンドルID.homeWidget'のようなIdにしました。
このIDは後ほど利用します。

Platform Setup

Xcodeでアプリにウィジェットを追加

Xcodeを開き、File > New > Target > Widget Extensionの順でウィジェット拡張機能を追加する。

App Groupsの設定

Xcodeで、RunnerWidget Extensionで共通のApp Groupsを設定する(それぞれ設定が必要)

Widgetの実装

Widget Extensionを追加したタイミングで、デモコードが生成され、一旦それで動かすことができるので、この記事では、省略します。

flutterの実装

AppGroupIdを渡して初期化するだけ

await HomeWidget.setAppGroupId('your app group id');

デバッグ方法

XcodeからターゲットをWidget Extensionに変更しビルドする。
私の場合はなぜかシュミレーターでは動作しなかった為、実機でビルドした。

Discussion