什么可能导致这个iOS MediaPlayer崩溃?

我们收到了一些堆栈跟踪的崩溃报告,这对我们来说很难解读.堆栈跟踪完全在MediaPlayer,Foundation,CoreFoundation和libsystem_c.dylib中.不幸的是,我们无法在任何我们的开发设备上复制,所以故障排除是有问题的.

以下是堆栈跟踪的示例.有没有人看到这样的东西,或者有什么可能导致这个崩溃的指针?

EXC_BAD_ACCESS KERN_PROTECTION_FAILURE at 0x000000016fc47fe0
Thread : Crashed: com.apple.main-thread
0   libsystem_c.dylib              0x0000000196a0624c localeconv_l
1   libsystem_c.dylib              0x0000000196a55d6c __vfprintf + 108
2   libsystem_c.dylib              0x0000000196a73680 __v2printf + 588
3   libsystem_c.dylib              0x0000000196a0620c _vsnprintf + 304
4   libsystem_c.dylib              0x0000000196a06c58 snprintf_l + 24
5   CoreFoundation                 0x000000018462b01c __CFStringAppendFormatCore + 11584
6   CoreFoundation                 0x00000001846282a4 _CFStringCreateWithFormatAndArgumentsAux2 + 248
7   Foundation                     0x000000018546e448 -[NSPlaceholderString initWithFormat:locale:arguments:] + 172
8   Foundation                     0x000000018546e308 +[NSString stringWithFormat:] + 76
9   MediaPlayer                    0x00000001869bf524 -[NSObject(MPLogDescription) MP_shortDescription] + 96
10  MediaPlayer                    0x00000001869bf598 -[AVPlayerItem(MPLogDescription) MP_shortDescription] + 72
11  MediaPlayer                    0x00000001869bde2c -[MPAVQueueCoordinator _syncPlayerItems] + 1316
12  MediaPlayer                    0x00000001869bd8a4 -[MPAVQueueCoordinator _syncItems] + 1452
13  MediaPlayer                    0x00000001869becbc -[MPAVQueueCoordinator _updateCurrentItem] + 620
14  MediaPlayer                    0x00000001869be61c -[MPAVQueueCoordinator _syncPlayerItems] + 3348
15  MediaPlayer                    0x00000001869bd8a4 -[MPAVQueueCoordinator _syncItems] + 1452
16  MediaPlayer                    0x00000001869becbc -[MPAVQueueCoordinator _updateCurrentItem] + 620
17  MediaPlayer                    0x00000001869be61c -[MPAVQueueCoordinator _syncPlayerItems] + 3348
18  MediaPlayer                    0x00000001869bd8a4 -[MPAVQueueCoordinator _syncItems] + 1452
19  MediaPlayer                    0x00000001869becbc -[MPAVQueueCoordinator _updateCurrentItem] + 620
20  MediaPlayer                    0x00000001869be61c -[MPAVQueueCoordinator _syncPlayerItems] + 3348
...

堆栈跟踪在上面的最后三行继续进行数百次重复.

解决方法

刚刚发生在我的iOS 8.4应用程序在这里.原来,应用程序正在尝试加载一个不存在的本地视频文件.当文件被称为“Intro.mp4”时,它正在尝试加载“Animation.mp4”,我没有捕获错误代码来检测这个.

最终结果与上述完全相同的堆栈跟踪 – 痕迹的最后3行,白色屏幕和应用程序崩溃的数百次重复

所以可能值得检查这个 – 它可能会帮助某人,虽然希望你有点更明智,并有一些错误捕捉代码围绕你的加载代码:)

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...