URLSession.dataTask 对 Xcode 12.5 Beta 2

问题描述

我今天升级到最新的 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 中解决