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

标签 iphone ios sqlite app-store icloud

我有一个 SQLite 数据库,需要使用 iCloud 进行备份。我知道苹果建议不要同步整个数据库,它可能reject the App 。可能的解决方法包括 -

1) 切换到核心数据 - 对于这个选项来说已经太晚了,并且考虑到核心日期的学习曲线,我不希望延长时间表。

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

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

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

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

谢谢

最佳答案

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

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

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

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

实际上,this答案与我刚刚所做的几乎相同...

关于iphone - 在 iOS 中同步压缩的 sqlite 数据库可能会导致应用程序被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16580906/

相关文章:

iphone - 如何知道 dismissModalViewControllerAnimated 何时启动以及何时完成?

ios - 每当我将文件添加到项目时,XCode 都会崩溃

sql - 如何使用 sqlite fts3 执行全文搜索

java - 如何从 SQLite 检索整数数据并将其显示在 TextView 中?

iphone - 使用 Objective-C iphone 发送语音消息

iphone - 如何访问tableview中的单元格?

ios - Swift 在解包一个可选值时意外地发现 nil

c - 从 sqlite 中的 blob 中读取垃圾

iphone - 从另一个 View 控制按钮文本

ios - Swift - 使用 DispatchGroup() 从 Firebase Firestore 异步下载数据时出现问题