同步iOS Widget的CoreData Context并包含App

时间:2015-06-05 12:10:51

标签: ios objective-c core-data ios-extensions

我正在为我的一个应用程序编写今天的扩展程序。在扩展内部,用户可以为文章设置书签。我在应用程序中有一个ViewController,它显示所有书签,并连接到NSFetchedResultsController。

我希望实现这一点,如果用户通过窗口小部件添加书签,它会自动弹出应用程序。我试过[self.managedObjectContext reset]NSManagedObjectContextDidChangeNotification - 都没有运气。当我完全退出应用并再次重新打开时,小部件所做的更改是可见的,但如果应用仍然在后台运行则不会。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

要在应用及其扩展程序之间共享数据,您需要创建一个AppGroup。 这并不困难,但需要采取不同的步骤:

  1. 在Apple开发人员门户网站中创建应用程序组
  2. 在目标 - >下的xcode功能启用应用群组并对扩展程序执行相同操作
  3. 现在您需要将数据库放在共享包中,如果这是您的第一个版本,您可以将核心数据样板代码的-applicationDocumentsDirectory方法更改为指向共享容器
  4. 或者,您可以共享NSUserDefaults以在应用和扩展程序之间保存过渡数据。 Here示例项目和here教程。