deleted-mezhevikin
@deleted-mezhevikin

Как получить список всех запросов в UIWebView?

Я хочу получить свисок всех запросов из UIWebView, то есть запросы на картинки/css/js файлы.
Я нашел метод: сделать подкласс NSURLCache и в методе cachedResponseForRequest: мониторить все запросы, но проблема в том что при больших запросах, например видео, я получаю крэш с нехваткой памяти, очитка кэша по memorywarning не помогает.

Если ли другие способы перехвата запросов или как подчинить этот способ?

Код:
import <Foundation/Foundation.h>

@interface CacheProxy : NSURLCache

@end

#import "CacheProxy.h"

@implementation CacheProxy

- (NSCachedURLResponse*)cachedResponseForRequest:(NSURLRequest*)request
{
    NSLog(@"url %@", request.URL);

    return [super cachedResponseForRequest:request];
}

@end


Инициализация в appdelegate:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        CacheProxy *cache = [[CacheProxy alloc] initWithMemoryCapacity:100 * 1024 * 1024
                                      diskCapacity:0
                                          diskPath:nil];
 [NSURLCache setSharedURLCache:cache];
    }


Крэш:

CFNetwork`__CFURLCache::SetMemoryLimit(long, long):
  • Вопрос задан
  • 2514 просмотров
Решения вопроса 1
@AlexKar
Думаю вам стоит посмотреть в сторону NSURLProtocol, определив + (BOOL)canInitWithRequest:(NSURLRequest *)request, сможете задампить все что вам нужно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы