今日扩展:核心数据访问

时间:2016-10-27 23:00:20

标签: ios core-data today-extension ios10-today-widget

  1. 我正在尝试将今天的扩展程序添加到我的应用中。
  2. 我的应用程序包含一个cocoaPod(我们自己的cocoapod),它为我们的应用程序设置了核心数据模型。

  3. 我设置今天的扩展程序以使用我们的广告连接。

  4. 在运行今天的扩展目标时,我收到此行的错误。

  5. NSManagedObjectModel *managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:[[NSBundle mainBundle] URLForResource:@"MyModel" withExtension:@"momd"]];
    

    错误是[[NSBundle mainBundle] URLForResource:@"MyModel" withExtension:@"momd"]为零。

    我已在开发者商店中为应用和扩展程序设置了组。想知道为什么它无法在应用程序包中找到数据模型?

    - 谢谢

1 个答案:

答案 0 :(得分:0)

您必须为今天的扩展程序创建app-group,并将storeURL更改为共享的App Group文件夹中包含的位置:

NSURL *directory = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group.YourGroupName"];
NSURL *storeURL = [directory URLByAppendingPathComponent:@"YourAppName.sqlite"];

对于swift:https://medium.com/@maximbilan/ios-shared-coredata-storage-for-app-groups-447b4ba43eec#.au9abo8v5

对于Objective-C:https://github.com/atomicbird/iOS-Extension-Demo