我正在使用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}
您使用的是哪个版本的SDK?有a bug in the background transfer daemon可能导致它崩溃,此后已被修复。我会download the latest Xcode beta再试一次。
我的错误是我使用了dataTaskWithRequest而不是uploadtaskWithRequest,或者在你的情况下使用了downloadtaskWithRequest。显然,数据任务无法在后台运行并被杀死。
可能后台传输守护进程崩溃了。尝试检查设备上的崩溃日志。也许你会在那里找到一些有趣的东西。
我和AVAssetDownloadTask
有这个问题,原来是因为我在没有启动任务的情况下创建任务。