Я использую 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];
Но ни одна из этих работ. Кто-нибудь знает, как это сделать?
Если вы делаете дамп памяти, вы увидите остатки освобожденных объектов Foundation, потому что они не уничтожают память при освобождении, поэтому они остаются до тех пор, пока память не будет повторно использована. Нет никакого общего общего решения, кроме некоторых, как использовать типы Foundation. Apple не предоставляет безопасные версии 'NSString' и' NSData'. Создайте отчет об ошибке, запрашивающий защищенные объекты Foundation: http://bugreporter.apple.com – zaph
Вы должны рассмотреть возможность использования 'AFHTTPSessionManager' и использовать' initWithSessionConfiguration' с эфемерным сеансом. См. Ссылку «ephemeralSessionfonuration» в документации 'NSURLSessionConfiguration'. – Rob
Почему вас беспокоит, может ли пользователь видеть свою собственную информацию о взломанных устройствах? Они решили нарушить безопасность своего устройства. –