ios - 使用 REST 使捆绑 Realm 保持最新

标签 ios swift rest realm

我有一个应用程序使用一个包含大约 5000 个条目的数据库。 此数据库作为 Realm 文件捆绑在应用程序中。 我希望能够使用 REST 定期更新/向该数据库添加条目,我认为我已经正确地完成了 - 我只是想确定一下。 我是这样做的:

安装应用程序后,我将捆绑的数据库从 mainBundle 复制到 Documents 目录以进行读/写访问。然后我从 mainBundle 中删除数据库。

当我更新/向数据库添加新条目时,它们会使用 REST 推送给用户并插入到位于 Documents 目录中的数据库中。

当发布应用程序更新时,我会检查数据库是否已存在于 Documents 文件夹中 - 如果存在,我会自动删除 mainBundle 中不需要的数据库。

我的做法是否正确?有更好的方法吗?

感谢任何输入!

问候, 埃里克

最佳答案

When I update/add new entries to the database, they are pushed to the user using REST and inserted into the database located in the Documents directory.

从技术上讲,您不能通过 REST 进行推送。所以我想,您要么向所有安装发送后台推送通知,要么在应用程序启动时检查是否有新版本的数据库可用。这至少是我的建议,但您对获取新数据的要求可能会有所不同。

When an update is released of the app, I make a check to see if the database already exists in the Documents folder - if it does I automatically remove the database in the mainBundle as it is not needed.

这行不通。主包是已签名的应用程序包。如果您篡改内容,您的应用程序将无法启动。出于这个原因,对它的访问被操作系统限制为只读。因此,此操作将始终因错误而失败。相反,您可能只是想跳过从主包中播种数据库。

关于ios - 使用 REST 使捆绑 Realm 保持最新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35288369/

相关文章:

rest - 我可以直接在MS Access数据上使用LINQPad,还是可以将args传递给Web API Rest方法?

ios - 在 Swift 中有条件地导入一个基于 iOS 版本的框架(比如 Speech)?

ios - 构建 xcode 项目时界面生成器 Storyboard 编译器错误

ios - 注册后向 PFUser 添加列?解析, swift

html - Swift HTML 解码问题

rest - 通过经过身份验证的代理和经过身份验证的 http 资源 curl

ios - 在应用程序上安装长文本

arrays - 如何循环遍历 Vapor 1.5 中的 JSON 对象并将其转换为 [String :Any]?

ios - AVPlayer支持2.35 :1 Cinematic Ratio

ruby-on-rails - Rails ActiveStorage 如何通过 REST API 上传文件