在iOS中同步压缩的sqlite数据库可能会导致应用程序被拒绝

我有一个SQLite数据库,我需要使用iCloud进行备份。 我知道,苹果build议不要同步整个数据库,它可能会拒绝该应用程序 。 可能的解决方法包括 –

1) 切换到核心数据 – 对于这个选项来说太晚了,给了核心数据的学习曲线,我不想延长时间表。

2) 维护日志文件的SQLite和同步日志文件 – 这个选项是更有效的,我会作为一个故障安全

3) 使用ZipArchive压缩数据库并同步压缩文件 – 这将是最容易实现的,但我不确定苹果是否拒绝或接受这一点。 Zip之前的大小是300kb,zip之后大约是40kb。

有没有其他人试过压缩的方法,并成功地提交了他们的应用程序到appstore?

任何其他build议将是非常有用的。

谢谢

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

但是,如果您需要不同的设备对“同一个”数据库文件(同步)进行编辑访问,那么通过上传实际的数据库文件,无法使用sqlite在iCloud上执行此操作 – 最终会导致数据库损坏。

你必须实现你自己的事务日志logging系统 – 在每个设备上保存单独的数据库,并使用你的日志文件保持它们之间的同步。 这实际上是苹果为其核心数据同步解决scheme所做的 – 数据库只存在于设备上,而不是在iCloud上 – 只有事务日志文件才会上传到iCloud。

有谁知道是否有人发明了一个解决scheme已经这样做了? 它不应该在可能的范围之外…

其实, 这个答案几乎和我刚刚做的一样