質問

このNSURLConnectionをデリゲートで使用しています。

nsconnection = [[NSURLConnection alloc] initWithRequest:request
    delegate:self startImmediately:YES];

問題は、Webサイトがまったく応答しないことです。何もありません。ブラウザで空白のページを回転させるだけで、失敗はありません。デリゲートでは、失敗を処理しますが、サイトが応答しない場合、デリゲートは呼び出されません。接続をタイムアウトする方法に関するアイデアはありますか?

役に立ちましたか?

解決

NSURLRequest オブジェクトでタイムアウトを指定できます。これを行う1つの方法は、 requestWithURL:cachePolicyを使用して構築することです。 timeoutInterval: メソッド。 (その部分を心配したくない場合は、デフォルトの NSURLRequestUseProtocolCachePolicy cachePolicyパラメーターを渡すことができます。)タイムアウトは、基本的にiPhoneのすべての時間間隔と同様に、秒単位の浮動小数点値です。 SDK。

また、 NSURLConnection のデリゲートが設定され、 connection:didFailWithError: メソッド。接続は、接続の完了時に常にこのメソッドまたは connectionDidFinishLoading:を呼び出します。

他のヒント

編集:この回答は廃止されましたが、回答日は正確でした。

このスレッドが古いことは知っていますが、この問題にも遭遇しました。これは、サービスが存在する内部ネットワークの外部でアプリをテストするときに発生しました。サービスは最終的にタイムアウトしますが、Appleはタイムアウトが発生する前に240秒(4分)の期間を義務付けています。問題の詳細については、このスレッドをご覧ください。

NSMutableURLRequestがタイムアウト間隔に従っていない

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top