根据苹果公司的说明:
注意:您不必像本文所述那样使用后台会话来执行所有后台网络活动。声明适当的后台模式的应用程序可以使用默认URL会话和数据任务,就像它们在前台一样。
我正在尝试使用默认会话配置和代理(而不是完成处理程序)来使用我的DataTask,但是如果我按Home按钮并再次切换回应用程序,则我的数据任务总是失败:
我试过的方法:使用带或不带完成处理程序的共享会话,但出现了相同的问题。
我的问题是:这句话的意思是什么“声明适当的后台模式的应用程序可以使用默认的URL会话和数据任务”? 如何声明这些后台模式?
我遇到的唯一一件事是
谢谢。
我正在尝试使用默认会话配置和代理(而不是完成处理程序)来使用我的DataTask,但是如果我按Home按钮并再次切换回应用程序,则我的数据任务总是失败:
Task <A25361F9-CAC0-4FA8-8663-777E1C6878A2>.<2> load failed with error Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort" UserInfo={_NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <A25361F9-CAC0-4FA8-8663-777E1C6878A2>.<2>, _kCFStreamErrorDomainKey=1, NSErrorPeerAddressKey=<CFData 0x108f07b40 [0x1db6c1420]>{length = 16, capacity = 16, bytes = 0x100201bb68118e240000000000000000}, _kCFStreamErrorCodeKey=53, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <A25361F9-CAC0-4FA8-8663-777E1C6878A2>.<2>"
我试过的方法:使用带或不带完成处理程序的共享会话,但出现了相同的问题。
我的问题是:这句话的意思是什么“声明适当的后台模式的应用程序可以使用默认的URL会话和数据任务”? 如何声明这些后台模式?
我遇到的唯一一件事是
UIApplication.shared.beginBackgroundTask
这是苹果所说的“适当的后台模式”吗?还是我漏掉了什么?谢谢。
beginBackgroundTask
来获得高达180秒的时间来完成您的任务。 - Paulw11