2013-05-14 7 views
-1

Все работает нормально, но иногда uiwebview не завершил загрузку. Я предполагаю, что иногда uiwebview ждет долгого ответа и не заканчивает загрузку. Был ли у кого-то знакомый вопрос?iOS UIWebView webViewDidFinishLoad иногда не вызывается

Да, я реализовал следующие методы:

- (void)webViewDidStartLoad:(UIWebView *)webView 
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error 
- (void)webViewDidFinishLoad:(UIWebView *)webView 

Да, я настройки делегата. Как я уже сказал, все работает нормально, но иногда оно не доходит до загрузки, оно не получает никакой ошибки.

- (void)myTimer:(NSTimer *)timer 
{ 
    NSLog(@"WV=%@ delegate=%@ isLoading=%d", self.webView, self.webView.delegate,  self.webView.isLoading); 
} 

Он печатает все время:

[378: с07] WV = UIWebView: 0x755f690; frame = (0 0; 320 416); autoresize = W + H; layer = CALayer: 0x755f6f0 >> delegate = MainViewController: 0x755b130> isLoading = 1;

Я также попытался установить политику кэширования и отключить ее. Это не помогло. Это может быть проблема с рамкой html? Когда он загружается, некоторые элементы веб-страницы исчезают (это происходит, когда веб-страница загружается, но обычно после исчезновения элементов отображается новая страница, но в этом случае это не так).

ответ

2

Вы осуществили (а) didFailLoadWithError:? Реализуйте все методы делегата и запишите различные из них, и посмотрите, что произойдет - если он просто кивает или что-то происходит, прежде чем он окажется спящим.

EDIT: Так использовать график NSTimer, что пожары каждые несколько секунд, и войти следующее:

  • объект WebView
  • делегат
  • Webview loading свойство

Здесь ist код:

- (void)myTimer:(NSTimer *)timer 
{ 
    NSLog(@"WV=%@ delegate=%@ isLoading=%d", self.webView, self.webView.delegate, self.webView.isLoading); 
} 

Пусть он работает не менее 10 минут (выйдите и выпейте кофе), а затем отчитайтесь здесь. Если он печатает всю информацию в течение длительного времени (например, 10 минут), то если вы можете опубликовать URL-адрес здесь, это будет большой помощью, поэтому другие могут попытаться дублировать проблему.

+0

Да, я сделал. Нет ошибки. Он просто продолжает загружаться. – inc

+0

Он печатает это все время: [378: c07] WV = > delegate = isLoading = 1; Я не уверен, могу ли я предоставить ссылку, она нуждается в аутентификации. – inc

+0

Попробуйте использовать сафари на Mac и установить пользовательский агент на сафари iOS - iPhone и посмотреть, не зависает ли это. Или воспользуйтесь одним из двух инцидентов технической помощи DTS и попросите Apple помочь вам сейчас. –

Смежные вопросы