我有一个需要使用iCloud备份的SQLite数据库。我知道Apple建议不要同步整个数据库,它可能reject the App。可能的解决方法包括 -
1)切换到核心数据 - 对于这个选项来说太迟了,考虑到核心日期的学习曲线,我不想延长时间表。
2)维护SQLite的日志文件并同步日志文件 - 此选项更有效,我将其作为故障安全
进行处理3)使用ZipArchive压缩数据库并同步zip文件 - 这将是最容易实现的,但我不确定Apple是否会拒绝或接受此操作。拉链前尺寸为300kb,拉链后尺寸约为40kb。
有没有其他人尝试过zip方法并成功将其应用程序提交到appstore?
任何其他建议都会非常有用。
由于
答案 0 :(得分:3)
嗯,严格来说,链接是在iCloud上讨论同步 sqlite数据库。你说你想要备份。如果您不需要不同的设备来编辑相同的数据库文件,那么您可能没问题。
但是,如果您需要不同的设备来对“相同”的数据库文件进行编辑访问(同步),那么通过上传实际的数据库文件就无法使用sqlite在iCloud上执行此操作 - 您将最终得到一个腐败的数据库。
您必须实现自己的事务日志记录系统 - 在每个设备上保留单独的数据库,并使用日志文件使它们彼此保持同步。这实际上是Apple为其核心数据同步解决方案所做的事情 - 数据库仅存在于设备上,而不存在于iCloud中 - 只有事务日志文件才会上传到iCloud。
有人知道是否有人发明了解决方案吗?它不应该超出可能性范围......
实际上,this的回答与我刚刚做的完全一样......