我有一个应用程序使用一个包含大约 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/