我目前正在開發的應用程序需要離線功能。不幸的是,在過去的幾天裏,我們試圖在沒有連接的情況下使用該應用,並且發現了一些奇怪的事情 當我們試圖用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