MagicalRecord(CoreData)今日推广(iOS8)……他们会玩吗?

希望你能帮忙.我正在为我的应用添加今日支持,它使用MagicalRecord https://github.com/magicalpanda/MagicalRecord管理我的所有CoreData内容.

我正在试图理解如何将我的数据显示在今天的扩展中.

我已经启用了http://blog.sam-oakley.co.uk/post/92323630293/sharing-core-data-between-app-and-extension-in-ios-8中概述的应用程序组,但是我正在阅读的所有文档和StackOverflow帖子都与直接使用CoreData有关. MagicalRecord为你做了很多艰苦的工作,这就是我使用它的原因,因为我在这个项目的开头就是全新的.所以像:

Where you initialise your Core Data stack,you’ll be adding a store to
your persistentStoreCoordinator a little something like this:

[persistentStoreCoordinator
addPersistentStoreWithType:NSsqliteStoreType configuration:nil
URL:storeURL options:options error:&error]

It’s simply a matter of changing your prevIoUs value for storeURL
(usually somewhere in NSDocumentDirectory) to a location contained in
your shared App Group folder. You do this using

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

……我不明白如何/在哪里实施.

我想象我必须像我在appDelegate中那样在我的扩展中设置MagicalRecord堆栈,但当然它失败了.

真的希望有人可能处于类似的情况,并能够阐明如何推进这个问题.

你需要我发布的任何代码让我知道.

提前致谢

解决方法

不确定这是否适用于以前版本的MagicalRecord,但从2.2开始,您可以将最终的URL作为商店名称传递:
NSFileManager *fileManager = [[NSFileManager alloc] init];

NSURL *directory = [fileManager containerURLForSecurityApplicationGroupIdentifier:@"group.yellow"];
NSURL *pathToStore = [directory URLByAppendingPathComponent:kMagicalRecordDefaultStoreFileName];

[MagicalRecord setupCoreDataStackWithAutoMigratingsqliteStoreNamed:(id)pathToStore];

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...