如何从扩展 iOS 8 获取 NSManagedObjectContext 实例
Posted
技术标签:
【中文标题】如何从扩展 iOS 8 获取 NSManagedObjectContext 实例【英文标题】:How to obtain NSManagedObjectContext instance from Extension iOS 8 【发布时间】:2014-07-21 13:01:44 【问题描述】:我创建了键盘扩展,并且需要访问 CoreData。它适用于容器应用 AppDelegate。但是从扩展我无法访问数据。 首先,我需要 NSManagedObjectContext 的实例,而我没有。
那么如何使用 AppGroup 或其他方式获取此上下文?
顺便说一句,当扩展程序启动时,它会在日志中打印下一条消息:
Warning: CFFIXED_USER_HOME is not set! It should be set to the simulated home directory.
Failed to inherit CoreMedia permissions from 16808: (null)
这有什么问题?
【问题讨论】:
你解决了吗?请尽快告诉我。 nope=( 我决定避免使用CoreData,因为它对我的情况来说很慢。您仍然可以尝试在应用程序中读取数据,将其写入AppGroup,如下所述,但这不是解决方案这个问题。 我也没有找到任何方法在我的键盘扩展中获取核心数据,只有 NSUserDefault 有效。苹果似乎没有在键盘扩展中提供对核心数据的访问权限。可能适用于任何其他扩展。 看看这个帖子:http://***.com/questions/26065539/magicalrecord-coredata-today-extension-ios8-will-they-play 【参考方案1】:按照本教程,创建一个应用组并从该组中检索数据
http://www.glimsoft.com/06/28/ios-8-today-extension-tutorial/
【讨论】:
这不适用于键盘扩展(共享核心数据)。共享 NSUserDefault 工作正常。以上是关于如何从扩展 iOS 8 获取 NSManagedObjectContext 实例的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Photos API 在 iOS 8.0 中检索照片扩展名 (jpg/png)?