gpt4 book ai didi

ios - MagicalRecord (CoreData) + Today Extension (iOS8)...他们会玩吗?

转载 作者:可可西里 更新时间:2023-11-01 03:07:28 25 4
gpt4 key购买 nike

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

我绞尽脑汁想了解如何将我的数据显示在 Today 扩展程序中。

我已启用此处概述的应用程序组 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 - MagicalRecord (CoreData) + Today Extension (iOS8)...他们会玩吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26065539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com