2016-09-26 9 views
1

legacy docsによれば、AppleはiOS 5以降で動作するすべてのアプリケーションに対してデフォルトのNSURLCache実装を提供しています。特殊なキャッシング要件や 制約を持っていないiOS 9以降のURLCache.shared動作

アプリケーションが許容できるデフォルトの共有キャッシュ・インスタンスを見つける必要があります。 より具体的なニーズを持つアプリケーションでは、カスタムのNSURLCache オブジェクトを作成し、 setSharedURLCache:を使用して共有キャッシュインスタンスとして設定できます。このメソッドは、 このメソッドの呼び出しの前に行う必要があります。

は、URLCache.sharedの現在のページでこの情報を指定していません。

私のアプリケーションには、ネットワーク要求や応答をキャッシュしないという要件があります。 iOS 9以上をターゲットとするアプリケーションの場合、Appleは引き続き共有のNSURLCacheを提供していますか?もしそうなら、どのように完全に無効にするか、無視するか、NSURLSessionリクエストの容量を0に設定しますか?

答えて

3

アップルの新しい開発者用ドキュメントサイト以外では、ユーザビリティ、検索性、スキャン可能性を常に低く抑えることはできません。しかし、あなたが探している情報は、あなたが見ているものからリンクされている50個程度のサブページの1つにあると確信しています。

WWDCサイトだけに影響を与えたときは、それは十分ではありませんでした。今、悪いデザインが転移したようです。ソフトウェアが自分のものと同じくらい書く能力に悪影響を及ぼしたことは残念です。

1語:ロールバック。ただ言って。

しかし、元の質問に答えるには、はい、まだ共有キャッシュがあります。彼らは互換性に悪影響を及ぼすことなく、現実的にそれを削除することはできません。

ただし、セッションの構成方法によっては、NSURLSession要求が必ずしも同じキャッシュを使用するとは限りません。キャッシュを避ける最も簡単な方法は、NSURLSessionを使用して、構成内のセッションキャッシュを明示的にゼロにすることです。もちろん、それはあなたがそのセッションを通して自分自身を作るリクエストにのみ影響を与えます(例えば、Webビューではない)。

関連する問題