0

UIWebView에서 URL을로드하는 데 문제가 있습니다. URL이 다른 위치로 리디렉션됩니다. 나는이 다음 코드로 재 처리 : 그러나UIWebview의 리디렉션 된 URL이 이미지를로드하지 않습니다.

- (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를 얻을 때. Safari에서 URL을 아무 문제없이로드 할 수 있습니다. 이것은 iOS6.1 및 iOS7에서 발생합니다.

나는 무엇을 해야할지에 대해 완전히 혼란 스럽습니다. 불행히도 서버에 액세스 할 수 없으므로 앱에서 모든 것을 처리해야합니다.

어떤 조언을 주셔서 감사합니다.

답변

0

아 그래, 무슨 일이 일어난 것 같아요, 내 맞춤형 인증 프로토콜이 초기 요청을 처리하고 있고, 리디렉션 요청이 들어 왔을 때 두 번째 캐싱 프로토콜이 이미지 요청을 가로 챈 것이 었습니다. 리디렉션 나는 다음과 같은 않는 startLoading 방법에 authprotocol에서

:

그래서 캐싱 프로토콜의 canInitWithRequest 방법에서 다음 작업을 수행 할
[NSURLProtocol setProperty:@YES forKey:@"AuthSet" inRequest:newRequest]; 

: 이후

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

, 우리가 캐시 될 때, 리디렉션을 따를 필요가 없습니다. 기본적으로 Auth 프로토콜이 요청을 받으면 캐싱 프로토콜이 응답하지 않습니다.

일부 테스트 후 다른 부작용이 있는지 확인하기 위해 업데이트됩니다.