5

以下のコードは iOS 6 では動作しますが、iOS 7 では動作しません。

NSCachedURLResponse cachedURLResponse = [[NSCachedURLResponse alloc] initWithResponse:response data:data userInfo:nil storagePolicy:NSURLCacheStorageAllowed];
[[NSURLCache sharedURLCache] storeCachedResponse:cachedURLResponse forRequest:request];
NSLog(@"Cached response is %@", [[NSURLCache sharedURLCache] cachedResponseForRequest:request]);

iOS 6 ではキャッシュされた応答データを取得していますが、iOS 7 では null を返します。以下を使用して、Appデリゲートに NSURLCache オブジェクトを設定しました。

NSURLCache *urlCache = [[NSURLCache alloc] initWithMemoryCapacity:2 * 1024 * 1024
                                                     diskCapacity:2 * 1024 * 1024
                                                         diskPath:nil];
[NSURLCache setSharedURLCache:urlCache];

iOS 7 でキャッシュが機能しない理由は何ですか?

4

2 に答える 2

1

キャッシング メカニズムは HTTP ヘッダーに依存します。最初にキャッシュが許可されている場合は、返された HTTP ヘッダーを確認します。「Charles」などの Web プロキシを使用して実行できます。

于 2014-02-25T08:51:22.610 に答える