Tech iOS

【iOS14】App Groups を使用して WidgetKit にデータ共有

投稿日:

はじめに

今回はアプリ側のデータをWidgetKitにて表示を行うために、App Groupsを使用してデータの共有を行いたいと思います。

App Groupsとは簡単にいうと、同一デベロッパーが開発したアプリであれば、共有領域にデータを保存することによって、複数のアプリ間でデータの読み書きが行える機能になります。

App Groupsの準備

WidgetKitの準備はこちらの記事をご確認ください。今回はこの記事で作成したWidgetに追加する形でサンプルを記載しています。

App Groupsの許可

まずはホストのアプリのTARGETにある、Signing & CapabilitiesタブでApp Groupsを追加してください。そうすると以下の項目が追加されます。

+ボタンを押下し、グループ名を入力します。今回のサンプルでは「group.com.example.WidgetSample」とします。

そうしたならばWidgetKitのSigning & CapabilitiesタブからApp Groupsを追加します。そうすると先ほど追加したグループが表示されるのでチェックを入れて有効化してください。

App Groupsの使い方

App Groupsの使い方は簡単でUserDefaultsに先ほど指定したIDを使用することで、共有領域にデータを保存することができます。

WidgetKitにデータ共有

これで準備は完了したので、早速WidgetKitにデータを共有して表示を行いたいと思います。

まずはアプリ側でデータの保存とWidgetKitの更新を行います。

WidgetKit側にUtilitiesというstructを作成し、データ取得用のメソッドを追加します。

TimelineEntryに今回表示するようのcountを追加します。

entryを作成する際にデータ取得用のメソッドを呼びます。

追加したcountを表示するようにします。

今回追加したコードを含めたWidgetKitのコード全文になります。

さいごに

アプリのデータをWodgetに表示するのはマストだと思いますので、この記事が誰かの役に立てば幸いです。

おすすめ書籍

[改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 WEB+DB PRESS plus 詳解 Swift 第4版 [改訂新版]Swiftポケットリファレンス (POCKET REFERENCE)

blog-page_footer_336




blog-page_footer_336




-Tech, iOS
-

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

CollectionViewの並び替えを実装する

1 はじめに2 実装方法3 手順4 ロングタップの実装5 並び替えを可とする6 並び替え時のデータ処理7 次回表示時8 他に9 さいごに10 おすすめ書籍 はじめに こんにちは。Yossyです。 前回 ...

【Swift】Xcode12対応ではまったNavigationControllerの挙動変更

1 はじめに2 今回のバグ3 詳細な内容4 修正5 さいごに6 おすすめ書籍 はじめに こんにちはsuzukiです。皆さんXcode12対応はおすみでしょうか、今回も駆け込みで色々対応しております。そ ...

SwiftUIでChartライブラリを使ってみた。

1 はじめに2 Chartsライブラリについて2.1 ライブラリの導入3 wrapper structの作成3.1 描画のための準備3.2 データの取得と更新3.3 コード全体4 さいごに5 おすすめ ...

UIWebViewからWKWebViewへの移行

1 はじめに2 ターゲットとなるUIWebViewで行なっていること3 URLへのアクセス4 ローカルHTMLの読み込み5 ページを戻す、進める6 ページの読み込み開始時や終了時に処理を行う(dele ...

swift

iOSでライブラリFSCalendarをつかって簡単にカレンダー表示

1 はじめに2 準備3 実装3.1 Storyboard3.2 コード3.3 タップの取得4 さいごに はじめに こんにちは、nukkkyです。 ツール系アプリ開発時にカレンダー表示を よく使うと思い ...

フォロー

blog-page_side_responsive

2020年11月
1234567
891011121314
15161718192021
22232425262728
2930  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。