需要澄清什么地方我应该把(商店),我的核心数据的SQLite的文件?(Clarification n

2019-09-22 08:01发布

是的我知道。 这个问题已经中已经回答在哪里存储核心数据文件吗? 在文件目录以外的商店coredata文件? 。

@Kendall黑尔姆施泰特Gelner和@Matthias鲍赫提供了很好的答复。 我upvoted他们。

现在的问题是相当的概念,我会尽力解释。

从你应该把你的应用程序文件的部分苹果的文档,我已经阅读以下内容:

手柄支持文件 -您的应用程序下载或生成并可以重建需要-在以下两种方法之一:

  • 在安装iOS 5.0和更早的版本,把支持文件在/图书馆/缓存目录,以防止它们被备份

  • 在iOS系统5.0.1或更高版本,把支持文件在/库/应用程序支持目录和应用com.apple.MobileBackup扩展属性给他们。 此属性防止文件被备份到iTunes或iCloud中。 如果你有大量的支持文件,可以将它们存储在自定义子目录和扩展属性应用到刚刚建立的目录。

苹果表示,处理支持文件你可以按照根据所安装的iOS两种不同的方法。 在我看来(但也许我是错的)核心数据文件是支持的文件,所以它属于这些类别。

说这话时,确实由马蒂亚斯和Kendall的办法继续有效还是无效? 特别是,如果我创建一个目录,说私人文件夹中,并在此目录继续保持隐藏在双方的iOS 5版本(5.0和5.0.1),或者我需要遵循苹果的解决方案? 如果是后者是有效的,你能提供任何样本或链接?

先感谢您。

Answer 1:

我要说的是,核心数据文件是不是一个真正的支持文件 - 除非你有一些方法来复制存储的数据,那么你会希望它备份。

支持文件更像是图片的东西,或者说只是一个远程网站的缓存数据库。

所以,你可以继续的地方,你喜欢你的核心数据的数据库(尽管它应该是在应用程序支持)。

最近除了为2013年1月的苹果已经开始治疗,你从一个包复制到可写的区域,就好像它们是一个支持文件预加载CoreData数据存储 - 即使你写用户数据到同一个数据库也。 (来自DTS)的解决方案是,以确保当您复制数据库到位,设置拒收备份标志,然后取消设置,如果用户数据被写入到数据库中。

如果您的CoreData商店是纯粹的网络下载的数据的高速缓存,继续确保它去某个地方像高速缓存或有不备份标志设置。



文章来源: Clarification needed about Where I Should Put (Store) My Core Data’s SQLite File?