存储Core Data文件的位置?

fab*_*789 16 iphone core-data objective-c ios

默认的Core Data for iOS模板将数据存储在.sqlite文件中NSDocumentDirectory.如果iDevice连接到iTunes并且启用了文件共享,则该文件可见.

我想将目录更改为用户不可见的内容,我会选择NSApplicationSupportDirectory.这是正确的目录吗?其他开发者使用什么?

Ken*_*ner 7

最好的地方(在iPhone上)是Library文件夹,如下所述:

如何在iPhone上获得可写路径?

该目录适用于您不希望用户通过共享查看的数据库.


Dan*_*son 6

Application Support目录是放置它的好地方,按照惯例(从Mac OS X),您应该使用以您的应用程序命名的Application Support中的子目录.对于iOS,它并没有真正身在何处,你把这个文件,因为它不能被用户访问反正,但要记住:

  • 如果您已启用文档共享(或其他任何名称),则文档目录在iTunes中可见.
  • 当用户安装新版本的应用程序时,不会保存Caches目录.

这是一篇很好的博客文章,其中包含获取正确的Application Support子目录的实现:http://cocoawithlove.com/2010/05/finding-or-creating-application-support.html

  • 用户现在可以访问文档文件夹(iOS 11) (2认同)