iOS应用程序组 - 共享CoreData无法打开

时间:2015-06-02 11:29:29

标签: ios objective-c core-data watchkit ios-app-group

我有一个带有 CoreData 数据库的应用,并使用UIManagedDocument访问它。 要与Watchkit应用程序共享数据,我正在将数据库移动到共享应用程序组。

看起来商店是正确创建的,但之后通常无法访问它:UIManagedDocument一直在尝试重新配置商店,而NSFileManager找不到文件({ {1}})。

问题出在数据库位置 - 如果我将其保存在文档目录而不是共享组中,它可以正常运行。这也不是从两个应用程序访问它的问题,即使我没有打开手表应用程序出现所有问题。该小组也正在合作分享fileExistsAtPath

有没有人看到类似的问题?我需要以特定的方式处理任何锁定机制吗? 任何帮助将不胜感激,我一直在努力解决这个问题!

1 个答案:

答案 0 :(得分:0)

经过大量搜索,我发现storeURL会在这两者之间(随机)发生变化:

file:///var/mobile/...
file:///private/var/mobile/...

我在以下答案中指定的URL上使用了URLByResolvingSymlinksInPath,令人难以置信的是,它修复了它: What does the /private prefix on an iOS file path indicate?

我假设这是App Group路径的系统错误......似乎不同的路径导致persistentStoreCoordinator尝试在商店已经打开时重新打开商店。