我已经使用 Recipes 示例应用程序中的代码构建了一个库样式的 SQLite iOS 应用程序,并且它可以工作 - 一台设备上的更新(最终)可靠地传播到运行同一应用程序的所有其他设备。我整天都在每小时用多个事件对其进行测试,并且所有日志事务都会到达每台设备。但是,更新传播的时间是高度可变的。如果我启动应用程序并让它静置,可能需要相当长的时间才能让云向应用程序发送更新事务,因此屏幕上的内容在同样长的时间内仍然是旧数据。更糟糕的是,没有迹象表明数据已过时。
但是,如果我让应用程序将更改发布到云,来自云的更新会相对较快地传播。这表明我可以进行黑客攻击,定期向数据库发布无意义的更改,但即便如此我也不知道我是否收到了所有更改。
第一个问题:是否存在强制交易传播的方法?a 这个线程建议不要。
第二个问题:有没有办法检测本地数据库是否过时?我不想不停地挠云副本,但时不时地这样做直到数据库是最新的可能不是一个坏主意。