2

我有一个需要使用 iCloud 备份的 SQLite 数据库。我知道 Apple 建议不要同步整个数据库,它可能会拒绝 App。可能的解决方法包括 -

1)切换到核心数据 ——这个选项太晚了,考虑到核心日期的学习曲线,我不希望延长时间表。

2)维护 SQLite 的日志文件并同步日志文件 - 这个选项更有效,我将把它作为故障安全来处理

3)使用 ZipArchive 压缩数据库并同步 zip 文件- 这将是最容易实现的,但我不确定 Apple 是否会拒绝或接受它。压缩前的大小为 300kb,压缩后的大小约为 40kb。

有没有其他人尝试过 zip 方法并成功地将他们的应用提交到应用商店?

任何其他建议都会非常有帮助。

谢谢

4

1 回答 1

3

好吧,严格来说,这个链接是在谈论在 iCloud 上同步一个 sqlite 数据库。你说你要备份。如果您不需要不同的设备来编辑同一个数据库文件,那么您可能没问题。

但是,如果您需要不同的设备来编辑“相同”数据库文件(同步),则无法通过上传实际数据库文件在 iCloud 上使用 sqlite 来执行此操作 - 您最终会得到一个损坏的数据库。

您必须实现自己的事务日志系统——您在每个设备上保留单独的数据库,并且您的日志文件用于使它们彼此保持同步。这实际上是 Apple 为他们的核心数据同步解决方案所做的——数据库只存在于设备上,而不存在于 iCloud 中——只有事务日志文件被上传到 iCloud。

有谁知道是否有人已经发明了解决方案来做到这一点?它不应该超出可能性的范围......

实际上,与我刚刚完成的答案几乎相同...

于 2013-05-16T14:59:14.877 回答