概要

iOS ホーム画面に3種類のウィジェットを提供。AppGroup UserDefaults 経由で本体・Widget間でデータ同期。

関連画面

3種類のウィジェット

ウィジェットサイズ表示
SummarySmall今週セッション数 / 最終日 / ストリーク
WeeklyMedium週間サマリ + トップ種目
CategoryTrackerMediumカテゴリ別の今週セッション数

共有データ

// AppGroup UserDefaults
struct WidgetSharedData {
    let weeklyCount: Int
    let lastWorkoutDate: Date?
    let currentStreak: Int
}

struct WeeklySummaryData {
    let weekStart: Date
    let weekEnd: Date
    let totalSessionCount: Int
    let topExercises: [TopExercise]
    let currentStreak: Int
    let streakUnit: StreakUnit  // .days / .weeks
}

同期タイミング

ビジネスルール

変更履歴

バージョン日付変更内容
1.02026-05-09初版作成