0

我有一个带有CoreData数据库的应用程序并使用UIManagedDocument. 为了与Watchkit应用程序共享数据,我将数据库移动到共享应用程序组。

商店似乎是正确创建的,但之后通常无法访问它:UIManagedDocument不断尝试重新配置商店,NSFileManager但找不到文件(带有fileExistsAtPath)。

问题出在数据库位置 - 如果我将它保存在文档目录而不是共享组中,它可以毫无问题地工作。从两个应用程序访问它也不是问题,即使我根本没有打开手表应用程序出现问题。该小组也在正常工作以进行共享NSUserDefaults

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

4

1 回答 1

1

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

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

URLByResolvingSymlinksInPath在以下答案中指定的 URL 上使用了,令人难以置信的是,它修复了它: iOS 文件路径上的 /private 前缀表示什么?

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

于 2015-06-03T08:57:29.463 回答