0

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

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

有任何想法吗?

4

1 回答 1

0

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

  1. 在苹果开发者门户中创建应用组
  2. 在 target->capabilities 下的 xcode 中启用应用程序组并对扩展执行相同的操作
  3. 现在您需要将数据库放在共享包中,如果这是您的第一个版本,您可以更改-applicationDocumentsDirectory核心数据样板代码的方法以指向共享容器

或者您可以共享NSUserDefaults以保存应用程序和扩展程序之间的过渡数据。 这里是一个示例项目,这里是一个教程。

于 2015-06-05T12:24:06.023 回答