2017-10-25 11 views
0

アプリがbackground/foreground状態のときに、viewcontrollerを含むアプリケーションをtodayextension widget view controllerから更新する必要があります。仮定します。今日の拡張機能からアプリを更新する方法

  1. viewcontrollerを含むアプリケーションには情報リストが含まれています。次のホームボタンを押すと、アプリはバックグラウンドの状態になります。
  2. TodayExtensionViewcontrollerのviewcontrollerを含むアプリケーションに表示されているように、ウィジェットを開き、情報のリストを表示します。
  3. TodayExtensionViewController内の情報を更新した場合、アプリがバックグラウンド状態からフォアグラウンド状態に移行したときに、ViewControllerを含むAppに複製したい同じ情報があります。
+0

'App Group'と' UserDefaults'を使います。この[リンク]を確認してください(https://stackoverflow.com/questions/24015506/communicating-and-persisting-data-between-apps-with-app-groups) – Ryan

答えて

0

あなたのアプリと今日の拡張機能は、データを共有できる必要があります。

まず、共有データにアクセスできるように、アプリとToday拡張の両方のアプリIDに「アプリグループ」機能を追加する必要があります。

データを共有する最も簡単な方法は、共有ユーザーのデフォルトを使用することですが、たとえば、永続的なコアデータストアを共有することもできます。

アプリがフォアグラウンドに入るたびに、共有データが変更されたかどうか(または共有ストアからデータを再ロードするだけで)ウィジェットの変更が有効になるかどうかを確認する必要があります。

ユーザーがアプリ内のデータを変更するたびに(または少なくともアプリが「非アクティブ」になる前に)、アプリは共有データを更新してウィジェットが最新であるようにする必要があります。

This guide Appleが良い出発点です。さらに、「データ共有」についてもっと詳しく説明する良いチュートリアルがたくさんあります。

関連する問題