Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 来自后台的请求超时_Ios_Swift_Alamofire - Fatal编程技术网

Ios 来自后台的请求超时

Ios 来自后台的请求超时,ios,swift,alamofire,Ios,Swift,Alamofire,我们有一个应用程序,它依赖于来自服务器的网络调用 有一种情况(我无法复制),当应用程序从后台进入前台时,在应用程序进入后台之前正在进行的网络呼叫超时。这是唯一一次网络呼叫失败 有人知道为什么会这样吗 Alamofire配置+请求: 当我进行长轮询时,我在AFJ网络和obj-c中看到了这一点。修复方法是在移动到后台以完成任何未完成的请求时启动后台任务。您最多有3分钟的时间来完成。@FryAnEgg我是在后台进程中完成的,网络调用很小,通常需要1秒钟左右才能得到响应。后台任务与bg进程或线程不同。签

我们有一个应用程序,它依赖于来自服务器的网络调用

有一种情况(我无法复制),当应用程序从后台进入前台时,在应用程序进入后台之前正在进行的网络呼叫超时。这是唯一一次网络呼叫失败

有人知道为什么会这样吗

Alamofire配置+请求:


当我进行长轮询时,我在AFJ网络和obj-c中看到了这一点。修复方法是在移动到后台以完成任何未完成的请求时启动后台任务。您最多有3分钟的时间来完成。@FryAnEgg我是在后台进程中完成的,网络调用很小,通常需要1秒钟左右才能得到响应。后台任务与bg进程或线程不同。签出:代码和discussion@FryAnEgg我明白你的意思,但我不会做长时间的投票。在您的解决方案中,您如何知道用户在后台进入应用程序时正在执行哪个请求?
let configuration = URLSessionConfiguration.default
    configuration.timeoutIntervalForRequest = 7 // seconds
    AFManager = Alamofire.SessionManager(configuration: configuration)

AFManager.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default).validate().responseString { response in
        if response.result.isSuccess {
            print(response)
            completion()
        } else {
            print(response.error!)
            completion()

        }
    }