离线iOS时超时使用waitsForConnectivity

问题描述

在执行多个 HTTP 调用时,我注意到 URLSession 上出现了一些奇怪的行为。据我所知,URLSession 数据任务过去常常在网络连接不可用时立即抛出错误错误 -1009 互联网连接似乎处于脱机状态)。

我现在也在执行网络请求,在飞行模式下执行请求时,请求会在超时之前运行,然后才会失败。我尝试创建一个应该防止这种情况的自定义配置,但这不起作用。如何重新启用或配置在没有连接时请求立即崩溃的行为?

let url = URL(string: "https://www.google.com/")!
let config = URLSessionConfiguration.default
config.waitsForConnectivity = false
config.timeoutIntervalForRequest = 2
config.timeoutIntervalForResource = 0

URLSession(configuration: config).dataTask(with: url) { d,r,e in
    print(d?.count,(r as? HTTPURLResponse)?.statusCode,e?.localizedDescription)
}.resume()

configuration documentation 似乎不一致或不正确。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...