You are crashing in objc_msgSend
. This means (as explained in this famous article) that the receiver has gone missing. In this case it appears that the user has tapped a button which sends an action message to a target, but the target object has gone out of existence.
UIKit -[UIApplication sendAction:to:from:forEvent:] crash
-
10-06-2023 - |
문제
I ran into a very unusual problem.. i got a crash on UIKit.. first time i have faced something like this.. Please can anybody guide my in this..
This is the crash log that i got.
Crashed: com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x1161a18c
Thread : Crashed: com.apple.main-thread
0 libobjc.A.dylib 0x386fcb66 objc_msgSend + 5
1 UIKit 0x30b5dda3 -[UIApplication sendAction:to:from:forEvent:] + 90
2 UIKit 0x30cc5615 -[UIBarButtonItem(UIInternal) _sendAction:withEvent:] + 120
3 UIKit 0x30b5dda3 -[UIApplication sendAction:to:from:forEvent:] + 90
4 UIKit 0x30b5dd3f -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 38
5 UIKit 0x30b5dd13 -[UIControl sendAction:to:forEvent:] + 46
6 UIKit 0x30b49743 -[UIControl _sendActionsForEvents:withEvent:] + 374
7 UIKit 0x30b5d75b -[UIControl touchesEnded:withEvent:] + 594
8 UIKit 0x30b5d425 -[UIWindow _sendTouchesForEvent:] + 528
9 UIKit 0x30b58451 -[UIWindow sendEvent:] + 832
10 UIKit 0x30b2dd79 -[UIApplication sendEvent:] + 196
11 UIKit 0x30b2c569 _UIApplicationHandleEventQueue + 7116
12 CoreFoundation 0x2e36ff1f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
13 CoreFoundation 0x2e36f3e7 __CFRunLoopDoSources0 + 206
14 CoreFoundation 0x2e36dbd7 __CFRunLoopRun + 630
15 CoreFoundation 0x2e2d8471 CFRunLoopRunSpecific + 524
16 CoreFoundation 0x2e2d8253 CFRunLoopRunInMode + 106
17 GraphicsServices 0x330122eb GSEventRunModal + 138
18 UIKit 0x30b8d845 UIApplicationMain + 1136
19 TradeMate 0x0008f2bf main (main.m:16)
해결책
다른 팁
Make sure the receiver or the object which receives the events is declared strong. You may not even get the crash log to figure out what what went wrong :)
If you are getting something like above check if the object is declared strong. That should solve the issue
제휴하지 않습니다 StackOverflow