【问题标题】:Does iTunes backup core data?iTunes 是否备份核心数据?
【发布时间】:2015-03-31 09:03:32
【问题描述】:

我对 iCloud 中的备份文件和数据进行了一些研究,我想知道如果我不使用任何 iCloud 功能,Core Data 是否会保存在 iTunes 备份中。

所以我得到了一个应用程序,其中最近的服务器连接保存在核心数据中,以将其填充回 UITableView。如果我使用 iTunes 进行设备备份并稍后在另一台设备上恢复它,是否仍会显示最近的连接?

我找到的所有问答都没有明确回答这个问题。

除此之外还有一个问题:是否可以使用正在开发的应用程序尝试这些 iTunes 备份的东西?

【问题讨论】:

    标签: swift backup itunes xcode-6.2


    【解决方案1】:

    这取决于您保存核心数据数据库的位置。

    LibraryDocuments 目录通常由 iTunes(和 iCloud)、tmpCaches 没有备份。

    见:Apple Documentation - iOS Standard Directories: Where Files Reside

    AppName.app
    这是应用程序的捆绑包。此目录包含应用程序及其所有资源。 您无法写入此目录。为防止篡改,捆绑目录在安装时进行签名。写入此目录会更改签名并阻止您的应用程序启动。但是,您可以获得对存储在应用程序包中的任何资源的只读访问权限。有关详细信息,请参阅资源编程指南
    iTunes 不备份此目录的内容。但是,iTunes 确实会对从 App Store 购买的任何应用程序进行初始同步。

    文件/
    使用此目录来存储用户生成的内容。该目录的内容可以通过文件共享提供给用户;因此,他的目录应该只包含您可能希望向用户公开的文件。
    该目录的内容由 iTunes 备份。

    文档/收件箱
    使用此目录访问外部实体要求您的应用打开的文件。具体来说,Mail 程序将与您的应用程序关联的电子邮件附件放置在此目录中。文档交互控制器也可以在其中放置文件。 您的应用可以读取和删除此目录中的文件,但不能创建新文件或写入现有文件。如果用户尝试编辑此目录中的文件,您的应用必须在进行任何更改之前静默地将其移出该目录。
    iTunes 会备份此目录的内容。 p>

    图书馆/
    这是任何非用户数据文件的顶级目录。您通常将文件放在几个标准子目录之一中。 iOS 应用程序通常使用 Application Support 和 Caches 子目录;但是,您可以创建自定义子目录。 将库子目录用于您不希望向用户公开的任何文件。您的应用不应将这些目录用于用户数据文件。
    Library 目录(Caches 子目录除外)的内容由 iTunes 备份。
    有关 Library 目录及其常用子目录的更多信息,请参阅 Library Directory Stores App-Specific Files。

    tmp/ 使用此目录来编写不需要在应用程序启动之间保留的临时文件。当不再需要文件时,您的应用应从该目录中删除文件;但是,当您的应用未运行时,系统可能会清除此目录。
    iTunes 不备份此目录的内容。

    【讨论】:

    • 是的,我已经在苹果文档中发现了这一点,但这是我第一次使用 coredata。我在现有项目之一中添加了一个数据模型,并通过 NSFetchedResultsController 从中获取数据。所以我来到了默认保存coreData的问题
    • 看看你的代码。它应该在某处提及.sqlite。这是创建存储数据库的路径的位置。由于您不知道您的数据库很可能存储在 Documents 中。
    • .sqlite 就是我要找的东西,谢谢。我这里的代码是let urls = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask) 所以是的,看起来像文档^^
    猜你喜欢
    • 2014-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-27
    • 1970-01-01
    • 2018-07-14
    相关资源
    最近更新 更多