我在我的应用程序中使用Realm作为数据库,并拥有共享扩展来支持从其他应用程序分享媒体。由于我需要从共享扩展访问我的数据库,因此我将realm文件从应用程序的文档目录移动到了Appgroup的共享容器中。我有以下问题。
- 在共享容器空间中存储数据库是否安全。
- 当我卸载应用时,共享容器内部的文件仍然存在,那么共享容器何时会被删除。
- 有没有其他最佳实践来处理我的场景。
我在我的应用程序中使用Realm作为数据库,并拥有共享扩展来支持从其他应用程序分享媒体。由于我需要从共享扩展访问我的数据库,因此我将realm文件从应用程序的文档目录移动到了Appgroup的共享容器中。我有以下问题。
看起来你在 Realm 的 GitHub 问题跟踪器中同时发布了这个问题。以下是我在 https://github.com/realm/realm-cocoa/issues/4899#issuecomment-297121059 中的评论,为了方便起见重新发布在这里:
- 将数据库存储在共享容器空间中是安全的吗。
是的。事实上,在iOS上跨进程共享文件的唯一方法就是这样做。
- 当我卸载应用程序时,仍然保留共享容器内的文件,因此共享容器何时被删除。
根据https://dev59.com/LWAf5IYBdhLWcg3w52I_#25027088,iOS会在从设备中移除最后一个访问它的应用程序后删除共享容器。
如果您发现情况并未发生改变,请建议向苹果报告该错误https://bugreport.apple.com。
- 处理我的情况的其他最佳实践。
听起来你做得非常好。继续保持!
今后请勿在StackOverflow和Realm的GitHub库中同时发布带有realm
标签的问题。Realm工程团队会监控这两个渠道,因此即使您只发布一次问题,也会得到回答。