2010-07-21 2 views
0

Я сделал пример приложения, состоящего из: WebView (для отображения содержимого URL-адреса), текстового поля (для размещения URL-адреса), кнопки (для загрузки URL-адреса в WebView).Проблема при отображении содержимого в WebView в Leopard

Я использовал этот метод для отображения содержимого в WebView:

- (IBAction)displayAction:(id)sender{ 
    NSString *liveStreamLink = [[NSString alloc] initWithString:[livestreamLinkTextField stringValue]]; 
    [[livestreamDisplayView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:liveStreamLink]]]; 
} 

Я сделал это приложение в обоих Leopard и Snow Leopard.

Нормальные ссылки, такие как - https://stackoverflow.com/, корректно открываются в обоих приложениях, но когда я пытаюсь использовать ссылку, такую ​​как -http://www.xyz.com/tools/gauges/livestream.php?data=123456, (Примечание: эта ссылка возвращает график), в приложении, разработанном в леопарде, это вызывает сбой , Приложение, разработанное в Snow Leopard, отлично работает для всех типов ссылок.

Может ли кто-нибудь предложить мне, что может быть его причиной и какое-то решение для его решения?

Стек трассировки следующим образом:

0 0x928252e6 in Debugger 
1 0x1b7e8c15 in dyld_stub_sprintf 
2 0x1b7e8ecf in NP_Initialize 
3 0x90f0599f in -[WebNetscapePluginPackage _tryLoad] 
4 0x90f054d7 in -[WebNetscapePluginPackage load] 
5 0x90f0a8af in -[WebNetscapePluginDocumentView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:] 
6 0x90ef41da in WebFrameLoaderClient::createPlugin 
7 0x930bd908 in WebCore::FrameLoader::loadPlugin 
8 0x936ae0da in WebCore::FrameLoader::requestObject 
9 0x930bc409 in WebCore::RenderEmbeddedObject::updateWidget 
10 0x92f32e65 in WebCore::FrameView::updateWidgets 
11 0x92f329c1 in WebCore::FrameView::performPostLayoutTasks 
12 0x92f22e33 in WebCore::FrameView::layout 
13 0x9306f72b in WebCore::Timer<WebCore::FrameView>::fired 
14 0x92f9e94e in WebCore::ThreadTimers::sharedTimerFiredInternal 
15 0x92f9e822 in WebCore::ThreadTimers::sharedTimerFired 
16 0x93860624 in WebCore::timerFired 
17 0x9621a70b in __CFRunLoopRun 
18 0x96218094 in CFRunLoopRunSpecific 
19 0x96217ec1 in CFRunLoopRunInMode 
20 0x96e48f9c in RunCurrentEventLoopInMode 
21 0x96e48d51 in ReceiveNextEventCommon 
22 0x96e48bd6 in BlockUntilNextEventMatchingListInMode 
23 0x902b0a89 in _DPSNextEvent 
24 0x902b02ca in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] 
25 0x9027255b in -[NSApplication run] 
26 0x9026a5ed in NSApplicationMain 
27 0x000029ee in start at ESTableView.m:1278 
+0

Это не достаточно, чтобы сказать, что это приводит к сбою. Вывести трассировку стека. –

+0

Кроме того, первая строка (где вы создаете liveStreamLink) совершенно не нужна. Вы можете просто передать [livestreamLinkTextField stringValue] непосредственно в -URLWithString: ... Ненужный код просто означает больше шансов на то, что все пойдет не так. Храните его так просто, как вы можете, но все же делая его читаемым. –

+0

хорошо, спасибо за ваш совет! – Devarshi

ответ

0

Я обнаружил, что всякий раз, когда это происходило, он отображал сообщение msg: Debugger() был вызван. Поэтому я проверил параметр запуска Xcode и обнаружил, что был выбран Stop on Debugger()/DebugStr(). Когда я отменил выбор и повторил выполнение приложения, он работал и не разбивался.

Может ли кто-нибудь проверить, что выключение: Остановить на Debugger()/DebugStr(), не вызывает никаких проблем?

Спасибо,

Monaj

0

Я собираюсь рискну предположить, что это не ваша вина, а вина более ранней версии WebKit. Причины этого предположения?

  1. Он отлично работает на Snow Leopard, но не Leopard.

  2. Авария полностью в WebCore, а не в вашем коде.

  3. Линии 3, 4, & 5 WebCore создает экземпляр подключаемого модуля для URL-адреса, который вы загружаете, и здесь происходит сбой.

  4. WebKit, включенный в Snow Leopard, обрабатывает плагины по-разному (изолирует их, чтобы их сбои не снимали все это), но это дополнительное внимание не было частью WebKit в Leopard.

+0

спасибо за вашу догадку ... но это значит ... Я не могу ничего сделать, чтобы разрешить это :( – Devarshi

+0

также, нормальные ссылки работают нормально в этом приложении ... так что я действительно интересно, почему это рушится для конкретной ссылки! – Devarshi

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