Когда я загружаю страницу, которая содержит встроенные клипы YouTube, в UIWebView, управляемый модальным UIViewController, я выхожу из строя со следующей трассировкой стека:
OS Version: iPhone OS 4.0.2 (8A400)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000000
Crashed Thread: 0
Thread 0 Crashed:
0 YouTube 0x00002bac -[NSData(YTBase64) webSafeBase64Data] + 76
1 YouTube 0x000026aa -[YTDeviceAuthenticator _authenticate2] + 662
2 YouTube 0x00002a54 -[YTDeviceAuthenticator connectionDidFinishLoading:] + 504
3 Foundation 0x0003d422 -[NSURLConnection(NSURLConnectionReallyInternal) sendDidFinishLoading] + 62
4 Foundation 0x0003d3a4 _NSURLConnectionDidFinishLoading + 72
5 CFNetwork 0x00010e74 URLConnectionClient::_clientDidFinishLoading(URLConnectionClient::ClientConnectionEventQueue*) + 160
6 CFNetwork 0x00004b70 URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo*, long) + 96
7 CFNetwork 0x00004e62 URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo*, long) + 850
8 CFNetwork 0x00004a60 URLConnectionClient::processEvents() + 64
9 CFNetwork 0x00004a12 URLConnection::multiplexerClientPerform(RunLoopMultiplexer*) + 30
10 CFNetwork 0x00004990 MultiplexerSource::perform() + 120
11 CFNetwork 0x0000490e MultiplexerSource::_perform(void*) + 2
12 CoreFoundation 0x00071a86 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 6
13 CoreFoundation 0x00073768 __CFRunLoopDoSources0 + 376
14 CoreFoundation 0x00074504 __CFRunLoopRun + 224
15 CoreFoundation 0x0001d8e4 CFRunLoopRunSpecific + 224
16 CoreFoundation 0x0001d7ec CFRunLoopRunInMode + 52
17 GraphicsServices 0x000036e8 GSEventRunModal + 108
18 GraphicsServices 0x00003794 GSEventRun + 56
19 UIKit 0x000062a0 -[UIApplication _run] + 396
20 UIKit 0x00004e10 UIApplicationMain + 664
21 MyApp 0x00002e94 main (main.m:13)
22 MyApp 0x00002e30 start + 44
Это не ограничивается одним конкретным URL;Кажется, это происходит всякий раз, когда страница содержит встроенные клипы YouTube, например этот .
Другие веб-страницы загружаются нормально без сбоев.
Сбой происходит до того, как я могу дажеперейти к клику на актуальный клип на YouTube;это происходит, когда страница, содержащая встроенный клип, завершает загрузку до вызова метода делегата webViewDidFinishLoad:
(если я установил делегат).
Я удалил весь свой дополнительный код, включая удаление всех ссылок UIWebViewDelegate
и он по-прежнему вылетает так же, когда работает как часть моего приложения.
Странно, когда я извлекаю код в новое приложение, новое приложение работает нормально.
Я также вижу толькоэто на iPhone 3GS под управлением iOS 4.02 и iPod Touch под управлением iOS 4.0.
Я не вижу этот сбой на исходном iPhone iOS 3.1.3 и не вижу сбоя наэмулятор.
Спасибо за любую помощь.