검색해 보았지만 해결 방법을 찾지 못해서 누군가 도움을 줄 수 있기를 바랍니다.iPhone - 데이터 연결없이 UIWebView가 didFailLoadWithError를 호출하지 않습니다.
사용자가 단추를 누를 때 호출되는 UIWebView가 있습니다. 휴대 전화에 데이터 연결이 없을 때의 행동을 고려하지 않는 한 모든 것이 효과적입니다. 비행기 모드 또는 데이터 연결없이 전화로 처음 시간 동안의 UIWebView를 열려고 할 때
:
- 있는 UIWebView가 시작는
- 로드 실패로드
UIWebView가 할당되고 처음으로로드되지 않으면 IBAction ([webView reload]를 호출하는)에 연결된 새로 고침 버튼을 누르면
이 발생합니다.210- 초기로드가 실패한 후 전화기에 데이터 연결이 있는지 여부에 관계없이 새로 고침 IBAction이 호출되지만 NSLog는 webViewDidStartLoad, webViewDidFinishLoad 또는 webView ... didFailLoadWithError가 호출되지 않습니다.
앱을 실행 상태로두고 기기에 데이터 연결을 켠 경우 (예 : 비행기 모드 끄기) 내 앱으로 돌아가서 새로 고침 버튼을 누르면 [webView reload]가 호출되지만 webViewDidStartLoad (따라서 webViewDidFinishLoad)가 호출되지 않습니다.
다음은 관련 코드입니다 :
-(IBAction)loadWebView {
webView = [[UIWebView alloc] init];
webView.scalesPageToFit = YES;
[webView setDelegate:self];
NSString *urlAddress = @"http://google.com";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
}
새로 고침 :
-(IBAction)reloadWebView{
[webView reload];
NSLog(@"RELOAD");
}
webViewDidStart, DidFinish, didFailLoadWithError :
- (void)webViewDidStartLoad:(UIWebView *)webView
{
NSLog(@"START LOAD");
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSLog(@"FINISH LOAD");
}
- (void)webView:(UIWebView *) webView didFailLoadWithError:(NSError *)error
{
NSLog(@"DID FAIL");
}
는 웹보기를 불러옵니다 생각?
darvids0n, 처음에는 도달 가능성에 의존하는 것이 좋은 점은 혼자서하는 것이 아닙니다. 저는 수업을 알고 있었지만 쉽게 할 수 있는지보고 싶었습니다. 어쨌든, Reachability를 사용하는 것은 확실히 방법입니다. 왜냐하면 UIWebView가 우리가 생각하기에 좋지 않을 것이기 때문입니다. 많은 감사합니다! –