2014-07-20 41 views
0

我目前正在开发的应用程序需要离线功能。不幸的是,在过去的几天里,我们试图在没有连接的情况下使用该应用,并且发现了一些奇怪的事情 当我们试图用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.

这是预期的行为?如果用户运行该应用的时间超过一个小时,那么最后一次尝试后会发生什么?记录是否会以不同的方式丢弃或保存?

回答

0

SaveEventually工作还您在离线时,也请参阅文件“Saving Objects Offline", 您还可以通过离线是和保存对象后,你可以找到他们的应用程序目录结构 (Library/Private Documents/Parse/Command Cache), 你会发现每一个未保存的对象进行测试是否有作为等待被发送的文件,当您重新联机时

+0

假设用户没有超过一个小时的连接,第5次尝试后会发生什么?在某个超时后停止尝试解析重试吗? – Keldon

+0

saveEventually将其存储在脱机文件中,一旦连接备份后即可处理它,saveInBackground我不确定,保证离线保存文档中的saveEventualy – PetrV

+0

当互联网备份时它不会保存它,所以这是不正确的信息 - 它仍然等待四个过期的时间段,并将所有其他保存在其后面的队列排队,这是可怕的行为。 – Rambatino