我有一个使用 SQLite 数据库的应用程序。随着 iCloud 的兴起,我正试图找出一个好的架构来在设备之间同步数据。假设我的应用程序在 iPhone、iPad 和 Mac 上运行。如何使我的数据库中的数据在所有设备上保持最新?
我的第一个想法是,我可以将数据库放在云端并发送交易。但是设备可能并不总是在线,用户随时都需要他们的内容,所以这行不通。我的另一个想法是继续使用本地数据库,然后在建立连接时将缓存的数据发送到中央数据库。问题是我什至不知道从哪里开始做这样的事情。我怎么知道哪些数据已发送,哪些数据未发送,建立连接时实际发送哪些数据等。
所以这是我的问题(我们不必深入了解 iCloud 的细节),使用 SQLite 数据库和 iCloud(或任何存储介质),我如何在多个设备之间同步数据,但仍然有最新的数据本地存储在设备上?
最佳答案
您可能想要结帐 Couchbase Mobile .这将有助于您正在寻找的同步。
如果您对 CoreData 进行了大量投资,那么您可能想考虑编写自己的 NSIncrementalStore支持向键值存储和从键值存储写入数据。
只有当您的数据被沙盒化到特定用户时,iCloud 才是一个好的解决方案。如果您有多个用户想要查看相同的数据,那么它将不起作用。
关于iphone - 需要 iOS 数据库云设计技巧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7125231/