2014-10-08 487 views
11

我正在使用NSURLSession下載一些mp3文件並將它們存儲在設備中。一切正常,但有時出於藍色,應用程序崩潰,我得到奇怪的錯誤說NSURLErrorDomain Code=-997 "Lost connection to background transfer service"。它不會發生很多,但是當它發生時,它只是搞砸了整個應用程序,就像我下次啓動應用程序時所有的下載任務都搞砸了一樣,我只需要在設備上重建應用程序以使其再次工作。 請注意,自從使用Xcode 6和ios8後,我只有這個錯誤,即使我不確定它是否與ios8相關。NSURLErrorDomain代碼= -997「丟失連接到後臺傳輸服務」

這是完全錯誤的描述:

Error Domain=NSURLErrorDomain Code=-997 "Lost connection to background transfer service" UserInfo=0x178664100 {NSErrorFailingURLKey=http://XXXXXXXXXX.mp3, NSLocalizedDescription=Lost connection to background transfer service, NSErrorFailingURLStringKey=http://XXXXXXXXXXX.mp3} 
+0

您是否找到解決方案?我有同樣的問題 – zaitsman 2014-11-18 23:39:56

+0

@zaitsman礦必須對文件保存到的URL做些什麼。自從我解決了這個問題後,我就再也沒有收到這個錯誤了! – user3687 2014-11-22 10:16:18

+0

@jim你是否改變了在委託方法實現'URLSession:downloadTask:didFinishDownloadingToURL:'中保存文件的URL?我遇到了同樣的錯誤,並且我試圖確定_where_我需要進行更改 – 2015-01-19 18:13:13

回答

1

什麼版本的SDK是你嗎?有a bug in the background transfer daemon,可能會導致它崩潰,從那以後被修復。我會download the latest Xcode beta並再次嘗試。

+0

自從我下載了xcode 6並開始使用ios8以來,我一直沒有遇到過後臺下載的問題!你可能是對的。 – user3687 2015-02-05 15:44:22

+0

我不認爲這一定是相同的錯誤。我正在使用SDK 8.1並在iOS 8.1.3上運行,偶爾也會丟失連接錯誤。有趣的是,我在數據下載成功後立即獲得了這個信息!即首先回調URLSession:downloadTask:didFinishDownloadingToURL:帶有響應數據和一切正常,然後在回調URLSession:task:didCompleteWithError:後立即調用'lost connection'錯誤。我會用雷達報道它。 – 2015-02-06 13:29:06

1

可能後臺傳輸守護進程崩潰。嘗試檢查設備上的崩潰日誌。可能你會在那裏發現一些有趣的東西。

5

我的錯誤是我使用了dataTaskWithRequest而不是uploadtaskWithRequest,或者在你的情況下使用downloadtaskWithRequest。顯然,數據任務不能在後臺運行並被殺死。

+1

如果你想做一個沒有關聯文件的後臺上傳怎麼辦?即。只是一些JSON?你必須先將它保存到文件中? – shim 2016-01-08 20:30:45

+0

@shim你是通過將它保存到文件中來解決它的嗎? – ricardopereira 2016-05-25 14:49:20

+0

是的,我通過將請求主體保存到文件中來解決它。 – shim 2016-05-25 15:13:18