目的・役割
iOS ホーム画面に配置できる小サイズのウィジェット。当日の豆知識のカテゴリとタイトルを表示。
タップでアプリ起動。
UI 構成
| 要素 | 種類 | 説明 |
| カテゴリバッジ | Capsule | tip.category |
| タイトル | Text | tip.title(短縮表示) |
| アプリロゴ | Image | 右下小さく |
データソース
WidgetTipData {
let title: String
let category: String
let dateKey: String
let updatedAt: Date
static func load() -> WidgetTipData? {
// AppGroup UserDefaults キー: widgetTipData
}
}
更新タイミング
| 条件 | 動作 |
| 翌日0時 | policy: .after(startOfTomorrow) で自動再取得 |
| 本体起動時 | AppViewModel.syncWidgetData() で AppGroup 更新 |
| 1時間ごと | TimelineProvider が timeline エントリ生成 |
実装メモ
- TipWidgetProvider が TimelineProvider プロトコル実装
- AppGroup suiteName:
group.com.happyboy1002.DailyTips
- AppGroup nil の場合は空表示(リカバリは本体起動時)
関連
変更履歴
| バージョン | 日付 | 変更内容 |
| 1.0 | 2026-05-09 | 初版作成 |