0

からクラッシュしまし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

_Block_releaseなぜ の後になるのかわかりません(anonymous namespace)::AutoreleasePoolPage::pop(void*)。ブロックが autoreleasepool に追加された可能性はありますか?可能であれば、ブロックがリリース時にクラッシュし、呼び出し時にクラッシュしなかったのはなぜですか?

4

1 に答える 1

1

わかりました,このバグを解決しました。クラッシュの理由は、objectAtIndexNSMutableArray の関数をフックしたためです。また、ユーザーがバックグラウンドから切り替えると、アプリがクラッシュし-[UIKeyboardLayoutStar release]: message sent to deallocatedます。

したがって、フック コードを削除すると、このバグが解決されます。

于 2015-10-30T13:01:38.143 に答える