我目前正在开发的应用程序需要离线功能。不幸的是,在过去的几天里,我们试图在没有连接的情况下使用该应用,并且发现了一些奇怪的事情 当我们试图用saveEventually
我们在日志中看到以下调试跟踪:保存最终离线状态
2014-07-19 18:00:00.079 BallisticBall[2371:8837] Error: Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo=0x15dbc500 {NSErrorFailingURLStringKey=api.parse.com/2/create, NSErrorFailingURLKey=api.parse.com/2/create, NSLocalizedDescription=The Internet connection appears to be offline., NSUnderlyingError=0x1ba79d20 "The Internet connection appears to be offline."} (Code: 100, Version: 1.2.18) 2014-07-19 18:00:00.082 BallisticBall[2371:5907] Attempt at runEventually command timed out. Waiting 600.000000 seconds. 5 retries remaining.
我等了十分钟,一个新的条目出现在日志中:
Error: Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo=0x15dce680 {NSErrorFailingURLStringKey=api.parse.com/2/create, NSErrorFailingURLKey=api.parse.com/2/create, NSLocalizedDescription=The Internet connection appears to be offline., NSUnderlyingError=0x15ddfc50 "The Internet connection appears to be offline."} (Code: 100, Version: 1.2.18) 2014-07-19 18:10:00.103 BallisticBall[2371:5907] Attempt at runEventually command timed out. Waiting 600.000000 seconds. 4 retries remaining.
这是预期的行为?如果用户运行该应用的时间超过一个小时,那么最后一次尝试后会发生什么?记录是否会以不同的方式丢弃或保存?
假设用户没有超过一个小时的连接,第5次尝试后会发生什么?在某个超时后停止尝试解析重试吗? – Keldon
saveEventually将其存储在脱机文件中,一旦连接备份后即可处理它,saveInBackground我不确定,保证离线保存文档中的saveEventualy – PetrV
当互联网备份时它不会保存它,所以这是不正确的信息 - 它仍然等待四个过期的时间段,并将所有其他保存在其后面的队列排队,这是可怕的行为。 – Rambatino