iOS6 でのタイムアウト挙動の改善とAFNetworkingでのタイムアウトの設定方法

備忘として記録しときます。iOSでNSURLRequestを使用して、PostでPostBodyを設定したときに、timeoutIntervalを設定たらタイムアウトが240秒固定になってしまう以下に設定出来ない仕様(バグ)があったのですが、iOS6では改善されているようです。ちなみに標準のタイムアウトは60秒です。
iphone – NSURLConnection timeout? – Stack Overflow
それをふまえて、AFNetworking でのタイムアウトの設定方法です。

Added timeoutInterval to AFHTTPClient by Shukuyen · Pull Request #133 · AFNetworking/AFNetworking
ここで、タイムアウトの設定の仕方が説明されています。iOS5以前では、NSMutableRequestのバグのため、設定しても正しく動いていなかったのですが、iOS6では正しく動くようになっているので助かりました。

もちろん、@”POST”の部分を変えてあげれば、GETなどにも対応出来ます。こんな感じで、いちど NSMutableURLRequest を取り出して設定してあげることにより、タイムアウトを設定することが出来ます。

追記:3/13/2013
岸川さんが情報を補足してくださっています。不正確な表現を直しました

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください