문제

내가 원하는 UIWebView 오프라인에서 작업.내가 처음 방문 url 을 보다 나는 아래 데이터를 저장하는 코드를 문서 디렉토리 webViewDidFinishLoad 방법입니다.

NSCachedURLResponse* response = [[NSURLCache sharedURLCache]                                     cachedResponseForRequest:[webview request]];
NSData * data = [response data];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
NSString *filePath = [NSString stringWithFormat:@“%@temp”, basePath];
if (response)
{
    BOOL isSaveFile = [NSKeyedArchiver archiveRootObject:data toFile:filePath];
}

내장 webview 두 번째 시간에 확인하는 파일이 존재하지 않습니다.을 얻을 파일이 존재하는 나는 아래 코드를 열어 파일에서 로컬입니다.

NSData * sData = (NSData *)[NSData dataWithContentsOfFile:filePath];
if (sData.length)
{
[webview loadData: sData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@""]];
}

위의 코드를 제대로 작동하지 않을 것입니다 나는 아래 출력됩니다.

enter image description here

나를 인도 해주십시오.내가 뭘 잘못입니까??

도움이 되었습니까?

해결책

설정해야 합니다 적절한 MIMEType, 기 때문에, UIWebView 아이디어가 어떻게 렌더링이 있습니다.

NSCachedURLResponse* response = [[NSURLCache sharedURLCache] cachedResponseForRequest:[webview request]];
NSString *MIMEType = response.response.MIMEType;
NSData * data = [response data];

그런 다음 로드

[webview loadData: sData MIMEType:MIMEType textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@""]];
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top