我们正在为我们的一款 iOS 游戏添加云存储 (AppState) 支持,但我们的应用中有一个奇怪的行为,我不太明白:
应用程序启动并登录用户。
一些数据已成功保存到云端(例如,保存到密钥 0)。
应用程序重新启动,并再次登录用户。
此时,无论是加载还是保存,我总是在重启后第一次访问云存储时遇到冲突。
这有意义吗?iOS 库是否应该在重新启动应用程序后始终返回冲突?我猜想该应用程序在重新启动后保留了最后一个数据的版本字符串,因此通常不会导致冲突。
有没有办法调试 iOS 库在做什么?我在想我可以嗅探网络流量,但这是不可能的,因为一切都通过 https。
更新(2013 年 12 月 3 日): 我设法设置了一个 HTTP 代理来检查 iOS 库在后台执行的 API 调用,我可以确认即使第四步中的保存操作(又名更新)正在工作(即使用了正确的 currentStateVersion 并且 HTTP 响应没有显示任何冲突),库仍然调用 updateForKey 方法的冲突处理程序。