Reputation: 91
I tried How do I prompt the user for push notification permission after a button is pushed? and it didn't work.
Because the code from How do I prompt the user for push notification permission after a button is pushed? didn't work, I deleted it. The app should have gone back to normal, right?
Instead, I can't even run it anymore. After I clicked a button within Simulator, Xcode showed this error:
2017-04-30 21:02:21.528 GradientAlarm[63166:7174122]
[GradientAlarm.ViewController allowNotifAction:]: unrecognized selector
sent to instance 0x7a0420b0
2017-04-30 21:02:21.535 GradientAlarm[63166:7174122] *** Terminating app
due to uncaught exception 'NSInvalidArgumentException', reason: '-
[GradientAlarm.ViewController allowNotifAction:]: unrecognized selector
sent to instance 0x7a0420b0'
*** First throw call stack:
(
0 CoreFoundation 0x030b3ded __exceptionPreprocess +
189
1 libobjc.A.dylib 0x0065cd6f objc_exception_throw +
49
2 CoreFoundation 0x031255b8 -[NSObject(NSObject)
doesNotRecognizeSelector:] + 136
3 CoreFoundation 0x03039a8d ___forwarding___ + 941
4 CoreFoundation 0x030396be _CF_forwarding_prep_0 +
14
5 libobjc.A.dylib 0x00672220 -[NSObject
performSelector:withObject:withObject:] + 63
6 UIKit 0x00ad3d90 -[UIApplication
sendAction:to:from:forEvent:] + 91
7 UIKit 0x00ad3d2a -[UIApplication
sendAction:toTarget:fromSender:forEvent:] + 41
8 UIKit 0x00c7bd0b -[UIControl
sendAction:to:forEvent:] + 64
9 UIKit 0x00c7c075 -[UIControl
_sendActionsForEvents:withEvent:] + 469
10 UIKit 0x00c7afab -[UIControl
touchesEnded:withEvent:] + 666
11 UIKit 0x00b4a2ca -[UIWindow
_sendTouchesForEvent:] + 3066
12 UIKit 0x00b4bb8e -[UIWindow sendEvent:]
+ 4445
13 UIKit 0x00af1fe0 -[UIApplication
sendEvent:] + 363
14 UIKit 0x0136e16f
__dispatchPreprocessedEventFromEventQueue + 2973
15 UIKit 0x0136563f __handleEventQueue +
1255
16 UIKit 0x01366ba3
__handleHIDEventFetcherDrain + 66
17 CoreFoundation 0x03058a5f
__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
18 CoreFoundation 0x0303e1c4 __CFRunLoopDoSources0 +
500
19 CoreFoundation 0x0303d69c __CFRunLoopRun + 1084
20 CoreFoundation 0x0303cfd4 CFRunLoopRunSpecific +
372
21 CoreFoundation 0x0303ce4b CFRunLoopRunInMode + 123
22 GraphicsServices 0x04d58a7a GSEventRunModal + 71
23 GraphicsServices 0x04d5895f GSEventRun + 80
24 UIKit 0x00ad1cb9 UIApplicationMain + 148
25 GradientAlarm 0x0008cbab main + 75
26 libdyld.dylib 0x03f16779 start + 1)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
I don't know why this happened. I deleted the information that I had added and opened a new project from which I copy and pasted all of the defaults, but I still have the same error message.
Upvotes: 0
Views: 309
Reputation: 91
The answer to this question is quite simple. The console's error message wasn't very helpful, but I was looking around and realized I had linked the same button to the View Controller twice, and that even after I deleted the corresponding programming block in the View Controller, the button was still linked to something. I just had to right click the button in the storyboard and delete that.
Silly mistake. Thanks everyone for responding!
Upvotes: 0
Reputation: 861
You probably still have the reference to allowNotifAction:
in .xib or storyboard view controller.
Go to the interface builder (.xib or storyboard) select the view controller and make sure that there is no reference to the method.
Upvotes: 1