如何在WatchKit Extension目标中获取核心数据持久存储路径

时间:2014-11-21 11:51:41

标签: ios xcode core-data watchkit persistent-data

我开发了一个使用Core Data框架的iOS应用程序,并将持久存储保存在应用程序文档目录中。 在app terget中,我可以使用以下方法检索持久存储路径:

- (NSString *)applicationDocumentsDirectory {
    return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
}

然后我创建了一个新的WatchKit扩展目标,我想要检索iOS应用程序保存的持久存储但是当我尝试在手表扩展的接口控制器中使用上述方法时,它返回一个不同的路径

如何在watchkit extesion目标中找到iOS应用的持久存储路径?

1 个答案:

答案 0 :(得分:10)

您的WatchKit扩展程序无权访问应用程序的Documents目录中的Core Data存储区,因为它位于扩展程序的沙箱之外。

如果您希望扩展程序能够访问数据存储,则需要将其放在应用程序和扩展程序都可以访问的位置。 I recommend reading up on App Group Containers(“与您的应用程序共享数据”部分),这是为了在相关应用程序和扩展程序之间共享文件而添加的。