проблема в том, что веб-представление не хочет застрять, вызывая делегата, который может или не может вернуть
так что через 30 секунд выдает эту ошибку, говоря, что это ошибка DELEGATES, что все не продолжается
что вы можете сделать:
- (void)webview:(id)wv didFinishLoadForFrame:(id)f {
[self performSelector:@selector(delayedDidFinish:) withObject:f afterDelay:0.0];
}
- (void)delayedDidFinish:(id)f {
...
}
Это позволит делегату вернуться, а затем запустить материал, когда в следующий раз появится runloop
====
с GCD, просто используйте dispatch_async
- более современный, чем performSelector: