如何备份/同步文档目录中的 sqlite 数据库? iCloud 是答案吗?
我在应用程序商店中有一个简单的阅读器应用程序,我正在尝试向其添加一些功能。现在,该应用程序的用户可以存储不同的书签、做笔记并突出显示内容的不同部分,并且所有这些都使用 FMDB 保存到文档目录中的本地 sqlite 数据库中。
一切都很好,除了每次删除应用程序时,本地数据库都会消失。因此,随着 iCloud 的出现,我想知道是否有一个理想的解决方案可以以某种方式备份我的数据库并在需要时恢复它?另外,在不同设备上的使用之间同步怎么样?
如果不是 iCloud,我还有哪些其他选项来实现此功能?我在几个不同的应用程序中看到过它,我只是不知道他们是如何做到的。
谢谢!
感恩节快乐!
I have a simple reader app on the app store that I am trying to add some functionality to. Right now the users of the app have the ability to store different bookmarks, take notes, and highlight different parts of the content, and this is all saved to a local sqlite db in the documents directory using FMDB.
Everything works great except for every time the app is deleted, there goes the local db. So with the advent of iCloud, I'm wondering if there is an ideal solution for somehow making backups of my db, and restoring it when needed? Also, what about syncing it between use on different devices?
If not iCloud, what are my other options to implement this feature? I've seen it in a few different apps, I just don't know how they do it.
Thanks!
Happy Thanksgiving!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
iCloud 是一个非常好的解决方案。您必须将数据序列化并上传;然后下载它并与数据库中的内容进行比较,然后忽略、删除或替换。
查看新的 iCloud API - 他们很直接!
在
使用核心数据定义结构化数据模型
部分中说:在
Using iCloud in Conjunction with Databases
中有一个很好的解释。基本上,您只需交换更改日志而不是传输数据库文件。iCloud is a very good solution. You will have to serialize the data and upload it; then download it and compare with what is in the db, then ignore, delete or replace.
Check out the new iCloud APIs - they are quite straight forward!
In the section
Defining a Structured Data Model Using Core Data
it says:In
Using iCloud in Conjunction with Databases
there is a very good explanation. Basically, you just exchange change logs rather than transferring the database files.