我正在使用AFNetworking作为我的基本网络课程。当我在越狱手机上进行内存转储时,我可以很容易地在纯文本转储文件中看到请求网址或响应(如json对象)。我在xcode中检查了泄漏工具,并且基于此没有内存泄漏。我的应用程序在网址或响应中包含敏感数据(如用户名,电子邮件地址...),我想在连接完成后立即清除这些信息。
我尝试在应用中禁用NSURLCache:
NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:0
diskCapacity:0
diskPath:nil];
[NSURLCache setSharedURLCache:sharedCache];
我也尝试过:
[[NSURLCache sharedURLCache] removeAllCachedResponses];
或
[[NSURLCache sharedURLCache] removeCachedResponseForRequest:NSURLRequest];
但这些都不起作用。 有谁知道怎么做?
答案 0 :(得分: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很好地尊重了响应标头。