1

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 の動作が異なることを確認するテストを作成しました。

http://github.com/abhinittiwari/NSURLCacheTestで見つけてください。

4

0 に答える 0