模拟器(Watch)极慢的网络

时间:2017-02-28 16:01:06

标签: swift performance alamofire nsurlsession watch-os

Xcode 8.2.1,全新的iOS 10.2 + WatchKit 3.1 app。

在Watch模拟器上执行网络请求时,我遇到了极长的响应时间问题(没有要测试的物理设备)。在极少数情况下,响应时间可以在5-6秒到45秒(!)之间。

我已尝试使用普通NSURLSessionAlamofire,如willActivate() InterfaceController中所示:

// URLSession
let url = URL(string: "https://httpbin.org/get")!
let request = URLRequest(url: url)
let configuration = URLSessionConfiguration.default
let session = URLSession(configuration: configuration)
let task = session.dataTask(with: request) { (data, response, error) in
    print(response)
}
task.resume()

// Alamofire
Alamofire.request("https://httpbin.org/get").responseJSON { response in
    print(response.response) // HTTP URL response
}

在iOS模拟器上进行测试时,完全相同的代码按预期工作,响应时间最短(例如viewDidLoad()中的ViewController)。

我不相信这是一个网络/ Wifi问题,因为我已经在不同地点的两台不同的计算机上进行了测试。

我知道Apple建议在Watch上使用后台配置的会话,但这是因为系统可能会提前终止该应用程序,这是处理响应的唯一方式,或者是它?

也许这是一个已知的Watch模拟器问题?

0 个答案:

没有答案