Car*_*hen 7 objective-c crash-reports uiwebview media-player ios7
我正在使用UIWebview在我的iOS应用程序上播放YouTube视频,在iOS 7.1发布之后,我收到了大量关于崩溃的报告:
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
Run Code Online (Sandbox Code Playgroud)
也许操作系统试图将通知发布到不再存在的对象.我没有直接使用MBAVItem,所以应该在UIWebview播放YouTube视频时调用它.根据iTunes连接,这次崩溃恰好发生在iOS 7.1上(至少目前为止),并成为最常见的崩溃.
我曾经为每首歌曲创建新的 YouTube HTML 播放器,并且在播放 5 - 10 首歌曲后发生此崩溃。
经过一些实验后,可以通过使用相同的 YouTube HTML 播放器加载不同的歌曲来避免这种崩溃(不要创建新的歌曲,只需调用 loadVideoById()),希望这个答案可以帮助某人 =)
| 归档时间: |
|
| 查看次数: |
808 次 |
| 最近记录: |