Appleは、iOS5.0以降でディスクキャッシングをサポートしています。以前はホームロールソリューションNSURLCache
を使用していましたが、過去に奇妙な動作を目にしたことがあるので、最終的に使用することを期待してテストしています。
私が抱えているより厄介な問題の1つは、cachedResponseForRequest:
期限切れのリクエストを返すことです。使用しているiPhoneの時計を早めに設定してテストしてきました。ヘッダーを解析すると、デバイスの時刻が有効期限よりも進んでいることが明確に示されます。
期限切れのリクエストを定期的に削除するバックグラウンドタスクが存在する可能性があることを受け入れたいと思います。リクエストが「自然に」期限切れになるかどうかを実際に待つテストを行いましたが、そうではありません。
Appleはキャッシュの無効化を正しく実装できなかったのでしょうか?
Charlesプロキシを使用してテストしています。これは難しい問題であり、キャッシュの無効化を実装しなければならない人をうらやましくはありませんが、iOSは今では成熟したSDKになるはずです。