【问题标题】:Realm Swift: Is it possible to keep database after the apps is uninstalled?Realm Swift:卸载应用程序后是否可以保留数据库?
【发布时间】:2016-07-13 03:29:06
【问题描述】:

使用realm swift,即使从设备上卸载应用程序后,是否可以在设备内存中保留和维护应用程序的领域数据库文件?

非常感谢您的帮助。

【问题讨论】:

    标签: ios swift xcode realm


    【解决方案1】:

    遗憾的是没有。这是 iOS 的限制,而不是 Realm 的限制。当从设备上卸载 iOS 应用时,与其关联的所有文件(包括任何 Realm 文件)都会被删除。

    如果您希望文件数据在应用程序被删除后仍然存在,则需要查看云托管解决方案以保留这些文件的副本。在这种情况下,最简单的很可能是CloudKit

    【讨论】:

    • 我同意你的回答,但在快速阅读iOS Data Storage Guidelines 后,它说存储在 /Documents 目录中的数据将由 iCloud 自动备份。我很确定这是 default.realm 默认存储的地方。想必您对此了解更多?我以前从未使用过 iCloud / CloudKit
    • 这意味着 Documents 文件夹中的文件仅包含在该设备的夜间 iCloud 备份中。因此,如果您想升级到新的 iOS 设备(或恢复旧设备),文件将在恢复过程中恢复。如果您明确卸载该应用程序,该数据也会从设备备份中删除。这有点令人困惑,因为它属于 Apple 的“iCloud”总称,但与 CloudKit 的机制不同。 :)
    • 不幸的是,在我的情况下,这些应用程序是一个简单的离线应用程序,因此 CloudKit 不是正确的解决方案。正如我在谷歌上搜索的那样,可能的解决方案是手动将领域文件的备份和恢复机制实现到设备的存储中。所以它需要手动从应用程序中恢复数据库。无论如何,非常感谢您的解释@TiM,您的回答很有帮助
    【解决方案2】:

    应用程序删除应用程序时,所有文件都剩余。 iOS 应用程序是沙盒的。这意味着每个应用程序在磁盘中都有自己的空间,有自己的目录,这些目录充当应用程序及其数据的主目录。

    从 iPhone 中删除应用程序会删除此沙盒,并删除与该应用程序关联的所有数据。

    【讨论】:

      猜你喜欢
      • 2016-06-16
      • 2014-03-27
      • 2021-11-01
      • 1970-01-01
      • 2013-09-10
      • 2020-07-04
      • 2013-11-10
      • 2016-12-11
      • 2011-09-06
      相关资源
      最近更新 更多