iOS 12中的网络故障-NSPOSIXErrorDomain代码= 53:软件导致连接中止#4279

时间:2019-09-12 09:04:26

标签: swift alamofire

我正在使用AlamoFire进行网络操作。

如果应用在后台运行时执行了网络操作(用户单击“主页”按钮)

当应用从后台返回时,下一个请求将导致以下错误:

FAILURE: Error Domain=NSPOSIXErrorDomain Code=53 "Software caused connection abort"

UserInfo={_NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <488FE19B-E66B-4562-893D-7498DCB00B84>.<5>, _kCFStreamErrorDomainKey=1, _NSURLErrorRelatedURLSessionTaskErrorKey=("LocalDataTask <488FE19B-E66B-4562-893D-7498DCB00B84>.<5>"), _kCFStreamErrorCodeKey=53}

我找不到重置AlamoFire,URLSession等以再次启用网络操作的方法。

建议的解决方法是使用后台任务,

尝试运行包装在beginBackgroundTask() / beginBackgroundTask()中的请求似乎无法解决问题。

var taskId : UIBackgroundTaskIdentifier = -1
taskId  = UIApplication.shared.beginBackgroundTask {
        UIApplication.shared.endBackgroundTask(taskId)
}

if taskId == -1 {
    return
}

let req = Alamofire.request(...)

req.responseObject {
// using EVReflection to turn response to object
}
UIApplication.shared.endBackgroundTask(taskId)

我使用后台任务是否出错?这个问题有解决方案吗?

0 个答案:

没有答案