0

私は現在、私のアプリケーションの 1 つの今日の拡張機能を書いています。拡張機能内で、ユーザーは記事のブックマークを設定できます。すべてのブックマークを表示し、NSFetchedResultsController に接続されているアプリに ViewController があります。

ユーザーがウィジェットを介してブックマークを追加すると、アプリケーションに自動的にポップアップすることを実現したいと考えています。私は試し[self.managedObjectContext reset]てみましたが、NSManagedObjectContextDidChangeNotificationどちらも運がありませんでした。アプリを完全に終了して再度開くと、ウィジェットによって行われた変更は表示されますが、アプリがまだバックグラウンドで実行されている場合は表示されません。

何か案は?

4

1 に答える 1

0

アプリとその拡張機能の間でデータを共有するには、AppGroup を作成する必要があります。難しくはありませんが、さまざまな手順が必要です。

  1. Apple 開発者ポータルでアプリ グループを作成する
  2. target->capabilities の下の xcode で、アプリ グループを有効にし、拡張機能に対して同じことを行います。
  3. ここで、データベースを共有バンドルに入れる必要があります。これが最初のリリースである場合は-applicationDocumentsDirectory、共有コンテナーを指すようにコア データのボイラー プレート コードのメソッドを変更できます。

NSUserDefaultsまたは、アプリと拡張機能の間の移行データを保存するために 共有することもできます。ここにサンプル プロジェクトとここにチュートリアルがあります。

于 2015-06-05T12:24:06.023 に答える