我有一个使用iOS,todayExtension和watchOS作为目标的应用程序。
在发布新的iOS 13之前,一切工作正常,那一周我在iPhone上下载了iOS 13 beta,在手表上下载了watchOS 6。然后,突然我的应用停止在手表上工作了。当我将其调试时,我发现没有URLSession请求正在完成。发生了什么大变化?
class func verifyInternet(errorHandler:@escaping (String) -> (), completionHandler:@escaping (JSON) -> ()) {
let myUrl = URL(string: "https://google.com/")
var request = URLRequest(url:myUrl!)
request.httpMethod = "GET";
request.httpBody = nil
request.cachePolicy = URLRequest.CachePolicy.reloadIgnoringLocalCacheData
let task = URLSession.shared.dataTask(with: request as URLRequest, completionHandler: {
data, response, error in
if error != nil
{
errorHandler(error.debugDescription)
return
}
if response.debugDescription.contains("Status Code: 200") {
completionHandler("connection ok")
return
}
if response != nil, let jsonString = JSON(parseJSON: response!.description) as? JSON {
//convert the JSON to raw NSData
do {
let json = try jsonString //JSON(data: dataFromString)
if json.dictionary?.keys.first?.contains("error") ?? false {
errorHandler(json.dictionary?.values.first?.stringValue ?? "error")
}
completionHandler(json)
} catch {
print("Error \(error)")
}
}
})
task.resume()
}
这实际上是我的一些代码,它们在OS 5上运行良好,而在OS 6(Simulator和Watch)上运行不正常(我已经尝试标记“独立于iPhone运行”选项)。我会在这里粘贴我遇到的错误,但是当我在Watch模拟器上运行代码时,调试器不会打印任何内容:)。