NSRangeException仅在设备上发生,但不在模拟器中

问题描述:

该应用程序在设备上崩溃,但不在模拟器中。 xcode(8.2.1)控制台没有显示太多信息。NSRangeException仅在设备上发生,但不在模拟器中

它在didFinishLaunchingWithOptions方法之前崩溃,所以我无法调试它。

这是完整的栈跟踪

*终止应用程序由于未捕获的异常 'NSRangeException',原因:“* - [__ NSArrayI objectAtIndex:]:索引9超出范围[0 .. 8] “ ***第一掷调用堆栈:(0x18f8251b8 0x18e25c55c 0x18f7007f4 0x195e803a0 0x195beb928 0x195a1db58 0x195a1dd88 0x195a0b320 0x195a22dec 0x1957bede8 0x1956d7a80 0x192b859d8 0x192b7a4cc 0x192b7a38c 0x192af73e0 0x192b1ea68 0x192b1f488 0x18f7d20c0 0x18f7cfcf0 0x18f6fe2d8 0x1957457b0 0x195740534 0x1001492fc 0x18e6e15b8)的libC++ abi.dylib:与 类型NSException

我已经添加了objectAtIndex符号断点的未捕获的异常终止。 所有的时间它击中的:

CoreFoundation`-[__NSArrayI objectAtIndex:]: 
-> 0x18f70073c <+0>: adrp x8, 148294 

和崩溃后,我contnue过多次/步。

为什么它在设备上发生,但不是在模拟器上?

+0

你发现它为什么不会在模拟器中发生吗? – code4j

我从Link Binary with Libraries部分删除了pods_appName.framework,并且之后没有发生崩溃。

我仍然很惊讶,为什么它没有崩溃这么多天!