【问题标题】:SaveEventually offline behaviorSaveEventually 离线行为
【发布时间】:2014-07-20 01:25:01
【问题描述】:

我目前正在开发的应用程序需要离线功能。不幸的是,在过去的几天里,我们尝试在没有连接的情况下使用该应用程序,但我们发现了一些奇怪的东西。 当我们尝试使用saveEventually 时,我们会在日志中看到以下调试跟踪:

2014-07-19 18:00:00.079 BallisticBall[2371:8837] 错误:错误域=NSURLErrorDomain 代码=-1009“Internet 连接似乎已脱机。”用户信息=0x15dbc500 {NSErrorFailingURLStringKey=api.parse.com/2/create, NSErrorFailingURLKey=api.parse.com/2/create, NSLocalizedDescription=Internet 连接似乎已脱机。, NSUnderlyingError=0x1ba79d20 "Internet 连接似乎已脱机。"} (代码:100,版本:1.2.18) 2014-07-19 18:00:00.082 BallisticBall [2371:5907] 尝试运行最终命令超时。等待 600.000000 秒。剩余 5 次重试。

我等了十分钟,日志中出现了一个新条目:

错误:错误域=NSURLErrorDomain 代码=-1009“Internet 连接似乎处于脱机状态。”用户信息=0x15dce680 {NSErrorFailingURLStringKey=api.parse.com/2/create, NSErrorFailingURLKey=api.parse.com/2/create, NSLocalizedDescription=Internet 连接似乎已脱机。, NSUnderlyingError=0x15ddfc50 "Internet 连接似乎已脱机。"} (代码:100,版本:1.2.18) 2014-07-19 18:10:00.103 BallisticBall [2371:5907] 尝试运行最终命令超时。等待 600.000000 秒。剩余 4 次重试。

这是预期的行为吗?如果用户运行应用程序超过一小时,最后一次尝试后会发生什么?记录会被丢弃还是以其他方式保存?

【问题讨论】:

    标签: ios parsing save parse-platform


    【解决方案1】:

    SaveEventually 在您离线时也有效,另请参阅文档“Saving Objects Offline", 您也可以离线测试它,保存对象后,您可以在应用程序目录结构中找到它们 (Library/Private Documents/Parse/Command Cache), 当您重新联机时,您会注意到每个未保存的对象都作为文件等待分派。

    【讨论】:

    • 假设用户超过一个小时没有连接,前 5 次尝试后会发生什么?解析是否在某个超时后重试或停止尝试?
    • saveEventually 将其存储在脱机文件中,一旦连接备份,saveInBackground 就会被处理,我不确定,保证脱机是文档中的 saveEventualy
    • 当互联网备份时它不会保存它,所以这是不正确的信息 - 它仍然等待四个时间段到期,并将所有其他的保存最终排在它后面,这是可怕的行为。跨度>
    猜你喜欢
    • 1970-01-01
    • 2012-02-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2015-03-14
    • 1970-01-01
    • 2019-07-19
    • 2014-09-20
    相关资源
    最近更新 更多