NSURLSessionDataTask を使用して、iPhone が参加しているアドホック WiFi を開くデバイスから JSON データを取得しています。(接続は TCP 経由で実行されます)。
デバイスはかなり遅いです - 特定の応答を送信するのに約 5 秒かかります。私のアプリを介してリクエストを発行dataTask.resume()
した後は、completionHandler が呼び出されるのを待っています。残念ながら、リクエストは何度も発生します (それぞれ ~ 1 秒の遅延の後)。これは、dataTask または NSURLSession によって開始されると思います。デバイスのデバッグ時に、繰り返されるリクエストを監視できます。
私が使用しているコードは次のとおりです。
let URL = NSURL(string: "<myURL>")!
let configuration = NSURLSessionConfiguration.ephemeralSessionConfiguration()
configuration.HTTPShouldUsePipelining = false
configuration.HTTPMaximumConnectionsPerHost = 1
configuration.allowsCellularAccess = false
configuration.timeoutIntervalForRequest = 30
let session = NSURLSession(configuration: configuration)
let dataTask = session.dataTaskWithURL(URL) {
// the request gets fired repeatedly before this completionHandler is called!
(data, response, error) -> Void in
...
}
dataTask.resume()
iOSがこれらのリクエストを再起動するのを防ぐ方法を知っている人はいますか?