2014-11-21 97 views
2

我开发了一个使用Core Data框架的iOS应用程序,并将持久存储保存在应用程序文档目录中。 进入terget我可以使用下面的方法来获取持久性存储路径中的应用:如何获取WatchKit扩展目标中的核心数据持久存储路径

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

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

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

回答

10

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

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

+0

非常感谢Dave,我会阅读那页! – Magurizio 2014-11-24 17:55:11

相关问题