LoginSignup
1
3

More than 3 years have passed since last update.

WidgetKitノート

Posted at

WWDC20を見て、WidgetKitにキャッチアップしたので、基礎知識をまとめます。
これからキャッチアップしたいよ、という方に向けたノートです。

構成要素

  • kind: ウィジェットは1アプリに対していくつかつくれる(たとえばStockアプリのリスト表示、チャート表示など)
  • configuration: ウィジェットの基本設定
    • StaticConfiguration: ユーザーがカスタマイズ不可の静的デザイン
    • IntentConfiguration: ユーザーがカスタマイズ可能な動的デザイン
  • supportedFamilies: systemSmall/systemMedium/systemLarge
  • placeholder: Default Content but no user data

Snapshot

  • Widget Galleyに並ぶスクリーンショット的なView(正確にはスクリーンショットではない)

Timeline

  • ウィジェットの更新タイミング
  • ウィジェットの更新タイミングも三種類
  • Timeline.ReloadPolicy: after(Date), atEnd, never
  • atEndはデフォルトでfetchされたら(タイミングは自分で指定)、afterは指定した時間以降、neverは更新しない
  • WidgetCenterのメソッドを使うことで開発者の任意のタイミングでreloadが可能(バックグラウンド)
  • サーバー通信が必要なときはURLSessionも使える

機能ガイドライン

  • ウィジェットはミニアプリではない
  • スクロール不可
  • 動画不可
  • タップしたら表示している情報に関連するアプリ内の詳細Viewに飛ぶ
    • そのためにWidgetURLとLinkという新APIが追加されている
  • ウィジェットはホーム画面でライブ更新するものではないので、毎秒reloadするような頻繁な更新はやめて、適切なreloadタイミングを設定すること

参考

Meet WidgetKit
Widgets Code-along, part 1: The adventure begins

「Meet WidgetKit」を見た後で、「Widgets Code-along」に移る順番がオススメです。
(僕は逆に見てしまったせいで)前提知識の説明なくて困惑しました)

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3