2014-03-26 66 views
7

我使用一個UIWebView來播放YouTube視頻我的iOS應用程序,iOS版7.1發佈之後,我得到了很多下列崩潰報告:MediaPlayer的崩潰

Exception Type: EXC_CRASH (SIGSEGV) 
Exception Codes: 0x0000000000000000, 0x0000000000000000 
Triggered by Thread: 1 

Thread 0: 
0 libobjc.A.dylib     0x393dd637 objc_msgSend + 23 
1 Foundation      0x2f563d57 +[NSConcreteNotification  newTempNotificationWithName:object:userInfo:] + 119 
2 Foundation      0x2f563ca9 -[NSNotificationCenter  postNotificationName:object:userInfo:] + 45 
3 Foundation      0x2f5685c3 -[NSNotificationCenter  postNotificationName:object:] + 27 
4 MediaPlayer      0x2feb17b9 __53-[MPAVItem  _playerItemNewAccessLogEntryNotification:]_block_invoke + 69 
5 libdispatch.dylib    0x398bcd51 _dispatch_call_block_and_release + 9 
6 libdispatch.dylib    0x398bcd3d _dispatch_client_callout + 21 
7 libdispatch.dylib    0x398bf6bf _dispatch_main_queue_callback_4CF + 275 
8 CoreFoundation     0x2ec0d675 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 5 
9 CoreFoundation     0x2ec0bf41 __CFRunLoopRun + 1305 
10 CoreFoundation     0x2eb767a5 CFRunLoopRunSpecific + 521 
11 CoreFoundation     0x2eb76587 CFRunLoopRunInMode + 103 
12 GraphicsServices    0x33ad36cf GSEventRunModal + 135 
13 UIKit       0x314d588d UIApplicationMain + 1133 
14 myApp       0x000eb679 0xe7000 + 18041 
15 myApp       0x000eb5c4 0xe7000 + 17860 

Thread 1 Crashed: 
0 libsystem_kernel.dylib   0x39975804 kevent64 + 24 
1 libdispatch.dylib    0x398c4051 _dispatch_mgr_invoke + 229 
2 libdispatch.dylib    0x398be2df _dispatch_mgr_thread + 35 

也許OS是試圖將通知發佈到不存在的對象。我沒有直接使用MBAVItem,所以應該在UIWebview播放YouTube視頻時調用它。根據iTunes連接,這次崩潰發生在iOS 7.1(至少現在),併成爲最頻繁的崩潰。

+1

在相同的情況下,這裏同樣的症狀。在Xcode下運行,我得到:'*** - [MPAVItem retain]:發送到釋放實例0x17a7b1720的消息' – JLundell

回答

1

我曾經爲每首歌曲創建新的YouTube HTML播放器,並且在播放5-10首歌曲後發生這種崩潰。

做一些實驗後,這個碰撞可以通過裝載相同的YouTube播放器的HTML不同的歌曲來避免(不創建一個新的,只需要調用loadVideoById()),希望這個回答能幫助別人=)