将数据库保存在 AppGroup 的共享容器中是不是是一种好方法

Posted

技术标签:

【中文标题】将数据库保存在 AppGroup 的共享容器中是不是是一种好方法【英文标题】:Is it good approach to keep database in AppGroup's shared container将数据库保存在 AppGroup 的共享容器中是否是一种好方法 【发布时间】:2017-04-25 11:16:53 【问题描述】:

我在我的应用程序中使用 Realm 作为数据库,并且我正在使用共享扩展来支持从其他应用程序共享媒体。因为我需要从共享扩展访问我的数据库,所以我将领域文件从 App 的文档目录移动到 Appgroup 的共享容器。我有以下问题。

    将数据库存储在共享容器空间中是否安全。 当我卸载应用程序时,共享容器中的文件仍然存在,因此共享容器将被删除。 处理我的场景的任何其他最佳实践。

【问题讨论】:

【参考方案1】:

您似乎在 Realm 的 GitHub 问题跟踪器中交叉发布了此内容。为了您的方便,我在https://github.com/realm/realm-cocoa/issues/4899#issuecomment-297121059 的评论转贴在这里:

    将数据库存储在共享容器空间中是否安全。

是的。事实上,这是在 ios 上跨进程共享文件的唯一方式。

    当我卸载应用程序时,共享容器中的文件仍然存在,因此共享容器将被删除。

根据https://***.com/a/25027088/373262,一旦最后一个有权访问共享容器的应用从设备中移除,iOS 就会删除共享容器。

如果您发现这种情况没有发生,我建议您提交一份雷达报告,告知 Apple 有关该错误的信息。 https://bugreport.apple.com

    处理我的场景的任何其他最佳实践。

听起来你做的一切都是对的。保持! ?


以后,请不要在 *** 上使用 realm 标签以及 Realm 的 GitHub 存储库交叉发布问题。 Realm 工程团队会监控这两个渠道,因此即使您只发布一次问题也会得到解答。

【讨论】:

以上是关于将数据库保存在 AppGroup 的共享容器中是不是是一种好方法的主要内容,如果未能解决你的问题,请参考以下文章

与 AppGroup 共享数据

Spring-SESSION+Redis 实现Session共享

Spring Session + Redis实现分布式Session共享

iOS:将图像保存在 App Group 中以在 Apple Watch 上使用

如何将 python 库从主机共享到多个 docker 容器?

Spring Session + Redis实现分布式Session共享