В отклоненном приложении iPhone есть странные журналы сбоев
Мое приложение было отклонено из магазина приложений из-за сбоя, вызвавшего журнал сбоя ниже. Что еще более странно, чем сбой, так это то, что шаги, предпринятые для его воспроизведения, не происходят ни со мной, ни с одним из 10+ бета-тестеров (на разных устройствах iOS). Может кто-нибудь помочь объяснить это больше? Я знаю, что коды исключений являются чем-то вроде памяти, но разве это единственная причина, которая может вызвать этот журнал аварий? Например, я даже не получаю номер строки.
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread: 0
Thread 0 Crashed:
0 libSystem.B.dylib 0x33bd52d4 __kill + 8
1 libSystem.B.dylib 0x33bd52c4 kill + 4
2 libSystem.B.dylib 0x33bd52b6 raise + 10
3 libSystem.B.dylib 0x33be9d72 abort + 50
4 libstdc++.6.dylib 0x31bdba20 __gnu_cxx::__verbose_terminate_handler() + 376
5 libobjc.A.dylib 0x3347c594 _objc_terminate + 104
6 libstdc++.6.dylib 0x31bd9df2 __cxxabiv1::__terminate(void (*)()) + 46
7 libstdc++.6.dylib 0x31bd9e46 std::terminate() + 10
8 libstdc++.6.dylib 0x31bd9f16 __cxa_throw + 78
9 libobjc.A.dylib 0x3347b4c4 objc_exception_throw + 64
10 Foundation 0x33639910 __NSThreadPerformPerform + 648
11 CoreFoundation 0x33a767d6 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 6
12 CoreFoundation 0x33a485b0 __CFRunLoopDoSources0 + 376
13 CoreFoundation 0x33a47e54 __CFRunLoopRun + 224
14 CoreFoundation 0x33a47c80 CFRunLoopRunSpecific + 224
15 CoreFoundation 0x33a47b88 CFRunLoopRunInMode + 52
16 GraphicsServices 0x33b0e4a4 GSEventRunModal + 108
17 GraphicsServices 0x33b0e550 GSEventRun + 56
18 UIKit 0x32099322 -[UIApplication _run] + 406
19 UIKit 0x32096e8c UIApplicationMain + 664
20 AppName 0x00002172 main (main.m:14)
21 AppName 0x0000213c start + 32
1 ответ
Ваш код вызвал где-то необработанное исключение или по какой-то причине вызвал abort(). Похоже, что это происходит при отправке в основной поток (так что где-то вы вызываете что-то вроде [obj performSelectorOnMainThread:@selector(something:) withObject:nil]
или что-то подобное. Мое лучшее предположение состоит в том, что выбранный вами селектор не существует на объекте (либо из-за проблем с управлением памятью, например, из-за того, что объект был заменен чем-то другим), либо из-за динамического назначения, которое вы делаете.