目次
Session概要
あなたのアプリを、iPhone, iPad, Macのホーム画面やToday画面に表示するという驚くような冒険の旅に出ましょう。スターター向けのプロジェクトを入手して、私達と一緒にコードを書いてみましょう!あなたのアプリにWidget(ウィジェット)をつける方法を最初から最後まで丁寧に説明します。そうすることで、アクセスが用意な場所に美しいビューとひと目でわかりやすい情報を提供することが可能になります。
Widgetプロジェクトの作り方、Widgetとその構成の根本的なコンセプトを学び、Widgetとプロバイダーを設定し、タイムラインコンセプトを詳しく見ていきましょう。 https://developer.apple.com/videos/play/wwdc2020/10034/
Code-Along
- 使用するプロジェクト
Widget(ウィジェット)とは何か?
- WidgetとはSwiftUI Viewのこと
- iOS, iPadOS, macOSのネイティブViewを生成する、宣言型コードと同じ
- そのため、コンテンツやレイアウトはSwiftUIで記述する
- SwiftUIのpreviewもwidget targetで利用可能
Widgetの作成方法
- Xcode → File → New → Target → で「widget」を検索
- previewの際は WidgetPreviewContext を使用するとWidgetの内容を詳細に確認可能
- previewContextの引数に設定
- previewContextの引数に設定

Widgetのモデル
- WidgetKitに必要なエントリ(データソース)が一つだけなら、TimelineProviderはsnapshotを提供する
- Widgetギャラリーなど
- 完全なtimelineを提供するには、ユーザが既に構成済みのWidgetをデバイスに追加している場合です
- timelineはユーザが実際にギャラリーからWidgetを追加して使用され
る

Widgetのサイズ対応
- WidgetConfigurationのモディファイアを追加する
WidgetのPlaceholder対応
- isPlaceholderモディファイアを設定する
- この設定だけで、レイアウトはそのままで画像やテキストのプレースホルダが設定可能
