0

У меня проблема с загрузкой URL-адреса в UIWebView. URL-адрес перенаправляется в другое место. я справиться с этим перенаправление со следующим кодом:Перенаправленный URL-адрес в UIWebview не загружает изображения

- (NSURLRequest *)connection:(NSURLConnection *)inConnection willSendRequest:(NSURLRequest *)inRequest redirectResponse:(NSURLResponse *)inResponse { 

    if(inResponse) { 
     NSMutableURLRequest *req = [[inConnection originalRequest] mutableCopy]; 
     [req setURL:[inRequest URL]]; 

     return req; 
    } 

    return inRequest; 
} 

Однако при загрузке страницы, я получаю 404 на всех изображениях. Я могу загрузить URL-адрес в Safari без каких-либо проблем. Это происходит на iOS6.1 и iOS7

Я полностью в тупике относительно того, что делать. К сожалению, у меня нет доступа к серверу, поэтому я должен обрабатывать все в своем приложении.

Спасибо за любой совет.

ответ

0

Ah okay, Так что, похоже, что мой пользовательский протокол аутентификации обрабатывал первоначальный запрос, а затем, когда запрос на перенаправление пришел, второй протокол кэширования перехватил запрос на изображения и взломал перенаправление.

В authprotocol, в методе startLoading я следующее:

[NSURLProtocol setProperty:@YES forKey:@"AuthSet" inRequest:newRequest]; 

Таким образом, в методе canInitWithRequest этого протокола кэширования, я сделать следующее:

if([NSURLProtocol propertyForKey:@"AuthSet" inRequest:request] != nil) 
    return NO; 

Так, когда мы кэширование, нам не нужно следовать переадресации. Поэтому в основном, если протокол Auth захватывает запрос, протокол кэширования не должен отвечать на него.

Будет обновлено после некоторого тестирования, чтобы увидеть, есть ли какие-либо другие побочные эффекты.