(iOS7)NSURLConnectionで通信中にスリープで通信が切断される


NSURLConnectionでファイルをアップロード中に端末ロック=>ロック解除すると、didFailWithErrorが呼ばれ、以下の内容により通信が失敗してしまいます(NSURLErrorNetworkConnectionLost = -1005)

端末がロックされた状態でも通信を継続させるにはNSURLSessionを使用するしかないのでしょうか?
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:_url];
NSURLConnection *conn = [NSURLConnection connectionWithRequest:request delegate:self];
if (conn != nil) {
do {
[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
} while (_isExecuting);
}

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2014/02/24 19:26:01
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:snow0214 No.1

回答回数470ベストアンサー獲得回数116

ポイント500pt

UIApplication beginBackgroundTaskWithExpirationHandlerとUIApplication endBackgroundTaskで囲んでやることで、バッググラウンドで継続処理可能になります。ただし最大10分間という制約があります。
http://himaratsu.hatenablog.com/entry/objc/background

id:ankomoti3260

レスありがとうございます。
おかげで、バックグラウンドでの動作ができるようになりました。
iOS6(10分)、iOS7(3分)という制約があるんですね。

2014/02/24 19:25:51

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません