问题描述
我今天升级到最新的 Xcode 12.5 Beta 2,现在我的所有 URLSession.dataTask 请求都失败并超时。我创建了一个示例项目,它提出了一个简单的请求,但每次都失败了。它适用于 Xcode 12.5 Beta 1。
这是一个简单的请求:
guard let url = URL(string: "https://hacker-news.firebaseio.com/v0/item/8863.json?print=pretty") else { fatalError() }
let startTime = Date()
let task = URLSession.shared.dataTask(with: url) { data,response,error in
let requestTime = Date().timeIntervalSince(startTime)
print("Time for request: \(requestTime)")
if let error = error {
updateLabel("requestTime: \(requestTime)\nError: \(error.localizedDescription)")
return
}
guard let httpResponse = response as? HTTPURLResponse,(200...299).contains(httpResponse.statusCode) else {
updateLabel("requestTime: \(requestTime)\n\(response.debugDescription)")
return
}
if let mimeType = httpResponse.mimeType,mimeType == "text/html",let data = data,let string = String(data: data,encoding: .utf8) {
dispatchQueue.main.async {
print(string)
// self.webView.loadHTMLString(string,baseURL: url)
}
}
}
task.resume()
func updateLabel(_ text: String) {
print(text)
}
测试版中是否还有其他人遇到同样的问题?
解决方法
是的,我遇到了同样的问题,我正在为此苦苦挣扎。您的代码似乎没有任何问题。可能是对 xcode 的一些许可。确保在 info.plist enter image description here
中添加了这一行 ,此问题已在 Xcode 12.5 Beta 3 中解决