Crash at _CFAutoreleasePoolPop



我从Fabric得到了一个崩溃,堆栈如下:

Thread : Crashed: com.apple.main-thread
0  libobjc.A.dylib                6806634868 objc_release + 20
1  libsystem_blocks.dylib         6813456656 _Block_release + 256
2  libobjc.A.dylib                6806640420 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 564
3  CoreFoundation                 6529519172 _CFAutoreleasePoolPop + 28
4  UIKit                          6605817924 _wrapRunLoopWithAutoreleasePoolHandler + 76
5  CoreFoundation                 6530394704 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32
6  CoreFoundation                 6530382300 __CFRunLoopDoObservers + 360
7  CoreFoundation                 6530383292 __CFRunLoopRun + 836
8  CoreFoundation                 6529519780 CFRunLoopRunSpecific + 396
9  GraphicsServices               6682260900 GSEventRunModal + 168
10 UIKit                          6606283712 UIApplicationMain + 1488
11 Spec                           4297532060 main (main.m:15)
12 libdyld.dylib                  6813280776 start + 4

我不知道为什么(anonymous namespace)::AutoreleasePoolPage::pop(void*)之后会是_Block_release。是否有可能将块添加到自动释放池?如果可能的话,为什么块在发布时崩溃,而在调用时没有崩溃?

好的,我已经解决了这个错误。崩溃的原因是我为NSMutableArray挂接了函数objectAtIndex。如果用户从后台切换,应用程序将得到一个崩溃-[UIKeyboardLayoutStar release]: message sent to deallocated

因此,删除钩子代码将解决此错误。

相关内容

  • 没有找到相关文章

最新更新