1

基本的なネットワーク クラスとして AFNetworking を使用しています。ジェイルブレイクされた電話でメモリ ダンプを実行すると、ダンプ ファイル内のリクエスト URL やレスポンス (json オブジェクトなど) をプレーン テキストで簡単に確認できます。xcodeのリークツールで確認しましたが、それに基づくメモリリークはありません。アプリの URL または応答に機密データ (ユーザー名、電子メール アドレスなど) が含まれているため、接続が完了した直後にこれらの情報を削除したいと考えています。

アプリで NSURLCache を無効にしようとしました:

NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:0
                                                        diskCapacity:0
                                                        diskPath:nil];
[NSURLCache setSharedURLCache:sharedCache];

私も試しました:

[[NSURLCache sharedURLCache] removeAllCachedResponses];

また

[[NSURLCache sharedURLCache] removeCachedResponseForRequest:NSURLRequest];

しかし、これらの作品のどれも。誰もそれを行う方法を知っていますか?

4

1 に答える 1

0

これを試しましたか?

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager.requestSerializer setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];

また、サーバー側スクリプトのヘッダー応答からキャッシュを無効にする必要があります。PHP の場合:

<?php
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>

Apple は応答ヘッダーを尊重します。

于 2015-06-05T00:14:06.517 に答える