iOS6、AFNetworking、および NSURLConnection で意味をなさない問題が発生しています。
問題を再現するには
- リクエストを作成し、リクエストが成功することを確認します
- インターネット接続をオフにする
- アプリを再度起動し、同じリクエストを再度行います
iOS5.1
2012-10-09 15:30:43.667 CACHE TEST[3811:1bb03] <NSMutableURLRequest http://myserver.in/someImage.png> 2012-10-09 15:30:43.674 CACHE TEST[3811:1bb03] -[AFURLConnectionOperation connection:didReceiveData:] 2012-10-09 15:30:43.675 CACHE TEST[3811:1bb03] -[AFURLConnectionOperation connectionDidFinishLoading:]
データは [NSURLCache からだと思います] 取得され、connectionDidFinishLoading
呼び出されます。
iOS6.0
2012-10-09 15:32:34.578 CACHE TEST [3877:1e903] <NSMutableURLRequest http://myserver.in/someImage.png> 2012-10-09 15:32:34.578 CACHE TEST [3877:1e903] -[AFURLConnectionOperation connection:didFailWithError:]
データは取得されず [NSURLCache の Cache.db がそのイメージを sqlite db に blob として持っていることを確認しました]、connection:didFailWithError:
呼び出されます。
NSURLConnection、NSURLRequest、または NSURLCache のいずれかに関連する変更があったことを示唆するような API 差分は見つかりませんでした。
その結果、アプリが 5.1 でオフラインで実行されると成功ブロックが呼び出されますが、iOS6.0 では失敗ブロックが呼び出されます。
アップデート
NSURLConnection、NSURLRequest、または NSURLCache の動作が異なることを確認するテストを作成しました。