NSURLErrorDomain Code=-997 Потеряно соединение со службой фоновой передачи

Я использую NSURLSession для загрузки некоторых mp3-файлов и сохранения их на устройстве. Все работает нормально, но иногда ни с того ни с сего приложение вылетает, и я получаю эту странную ошибку с надписью NSURLErrorDomain Code=-997 "Lost connection to background transfer service". Это происходит не часто, но когда это происходит, это просто портит все приложение, например, когда я запускаю приложение в следующий раз, когда все задачи загрузки испорчены, и мне просто нужно перестроить приложение на устройстве, чтобы заставить его снова работать . Обратите внимание, что я получаю эту ошибку только после использования Xcode 6 и ios8, хотя я не уверен, что это связано с ios8 или нет.

Вот полное описание ошибки:

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}

person Rashid    schedule 08.10.2014    source источник
comment
Вы нашли решение? У меня точно такая же проблема   -  person zaitsman    schedule 19.11.2014
comment
Мой @zaitsman должен был что-то сделать с URL-адресом, на который сохраняются файлы. С тех пор, как я решил эту проблему, я больше не получаю эту ошибку!   -  person Rashid    schedule 22.11.2014
comment
@jim Вы изменили URL-адрес, на который сохранялись файлы, в реализации метода делегата URLSession: downloadTask: didFinishDownloadingToURL:? Я сталкиваюсь с той же ошибкой и пытаюсь определить, где мне нужно внести изменения   -  person Mike Welsh    schedule 19.01.2015
comment
Вы делаете это в основной теме?   -  person Eddwin Paz    schedule 03.02.2015
comment
@jim Я рекомендую вам прочитать следующее руководство, которое даст вам больше информации о том, что происходит с вашей проблемой. code.tutsplus.com/tutorials/   -  person Eddwin Paz    schedule 03.02.2015
comment
@jim ты смог найти решение этой проблемы?   -  person Syed Ismail Ahamed    schedule 21.04.2016


Ответы (4)


Какая у вас версия SDK? Была ошибка в демоне фоновой передачи, которая могла привести к его сбою, которая с тех пор была исправлена. . Я бы загрузил последнюю бета-версию Xcode и попробовал еще раз.

person Alex Nauda    schedule 03.02.2015
comment
Ну, с тех пор, как я скачал xcode 6 и начал использовать ios8, у меня не было проблем с фоновой загрузкой! вы, наверное, правы. - person Rashid; 05.02.2015
comment
Я не думаю, что это обязательно одна и та же ошибка. Я использую SDK 8.1 и работаю на iOS 8.1.3, а также иногда получаю ошибку потерянного соединения. Самое смешное, что я получаю это сразу после того, как данные были успешно загружены! т.е. сначала вызывается обратный вызов URLSession:downloadTask:didFinishDownloadingToURL: с данными ответа и все в порядке, и сразу после этого вызывается обратный вызов URLSession:task:didCompleteWithError: с ошибкой «потеря соединения». Я сообщу об этом в радаре. - person Oscar Hierro; 06.02.2015

Моя ошибка заключалась в том, что я использовал dataTaskWithRequest вместо uploadtaskWithRequest или, в вашем случае, downloadtaskWithRequest. Очевидно, что datatask не может работать в фоновом режиме и быть убитым.

person Caro    schedule 13.02.2015
comment
Что делать, если вы хотите выполнить фоновую загрузку, с которой не связан файл? т.е. просто JSON? Вы должны сначала сохранить его в файл? - person shim; 08.01.2016
comment
Да, я решил это, сохранив тело запроса в файл. - person shim; 25.05.2016
comment
@shim, я получаю сообщение об ошибке, когда загружаю файл с содержимым тела запроса. Можете ли вы поделиться мне кодами для него? - person gstream79; 20.04.2017
comment
Извините, у меня больше нет доступа к этому коду. В любом случае, я полагаю, что любая такая ошибка действительно зависит от используемого вами сервера. - person shim; 20.04.2017

Вероятно, произошел сбой демона фоновой передачи. Попробуйте проверить журналы сбоев на вашем устройстве. Возможно, вы найдете там что-то интересное.

person Skie    schedule 10.02.2015

У меня была эта проблема с AVAssetDownloadTask, и оказалось, что я создавал задачи, не запуская их.

person Tom Hamming    schedule 12.07.2018
comment
можно поподробнее, у меня такая же проблема - person varun anand dudeja; 27.11.2018