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);
}
UIApplication beginBackgroundTaskWithExpirationHandlerとUIApplication endBackgroundTaskで囲んでやることで、バッググラウンドで継続処理可能になります。ただし最大10分間という制約があります。
http://himaratsu.hatenablog.com/entry/objc/background
レスありがとうございます。
2014/02/24 19:25:51おかげで、バックグラウンドでの動作ができるようになりました。
iOS6(10分)、iOS7(3分)という制約があるんですね。