如何解决离线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 举报,一经查实,本站将立刻删除。