How to show iOS Push Notification Popup?
Solution 1
Resetting the Push Notifications Permissions Alert on iOS
The first time a push-enabled app registers for push notifications, iOS asks the user if they wish to receive notifications for that app. Once the user has responded to this alert it is not presented again unless the device is restored or the app has been uninstalled for at least a day.
If you want to simulate a first-time run of your app, you can leave the app uninstalled for a day. You can achieve the latter without actually waiting a day by following these steps:
1. Delete your app from the device. 2. Turn the device off completely and turn it back on. 3. Go to Settings > General > Date & Time and set the date ahead a day or more. 4. Turn the device off completely again and turn it back on.
Solution 2
Popup appears afrer you register your application for remote notifications. For example:
[[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
how can I know if the user selected don't allow/ allow?
Application objects calls two delegate's methods:
-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
}
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *) error
{
}
UPD: Here is tutorial on how to setup your app for push notifications: http://www.raywenderlich.com/32960/
Related videos on Youtube
![cessmestreet](https://i.stack.imgur.com/XhcPJ.jpg?s=256&g=1)
cessmestreet
Updated on September 08, 2020Comments
-
cessmestreet almost 4 years
I'm trying to add push notification to my app. I need to know how to make the push notification popup appear. The popup I'm pertaining to is an alert view that has two choices, "allow" and "don't allow". It asks the user whether to allow the app to receive notifications and stuff or not.
I've tried deleting my app over and over again and advancing the time but nothing worked.
Also, in case the popup appears, how can I know if the user selected don't allow/ allow?
-
HRM over 10 yearsCheck out this stackoverflow.com/questions/12598955/…
-
-
cessmestreet over 10 yearsi'm already registering for remote notification but the popup doesn't appear. Am I missing something? as for didFailToRegisterForRemotNotification i've learned that it also goes there when i run in the simulator because it doesn't support push notification. Is there a way to isolate the error? I only care about the "don't allow" error. Thanks.
-
Sviatoslav Yakymiv over 10 yearsCan you log and error? And yes. The simulator does not support push notifications.
-
cessmestreet over 10 yearsThat's my problem. I don't know the error returned when the user clicked don't allow because i can't even display the popup. T_T
-
Sviatoslav Yakymiv over 10 yearsYou also should configure your app id on developer.apple.com for receiving remote notifications.
-
Sviatoslav Yakymiv over 10 yearsI've updated my answer.
-
cessmestreet over 10 yearsI've managed to display the popup one time only but when i clicked "don't allow" didFailToRegisterForRemoteNotifications wasn't called. How will i know if user clicked don't allow?
-
Wirsing about 10 yearsInteresting remark from the official source: If you want to simulate a first-time run of your app, you can leave the app uninstalled for a day. You can achieve the latter without actually waiting a day by following these steps: (see 1 to 4 above)
-
jianpx almost 10 yearsworks, but feeling too complicated...
-
nburk over 8 yearsIt seems that it doesn't require to turn the device off two times (any more?). Just skip step two and save some time :)
-
DevilInDisguise over 8 yearstried this on a iphone6 with 8.1 without luck. I didn't receive local notification nor remote notifications prompts again as expected (I did skip step2...
-
BhushanVU almost 8 yearshelpful answer from Eran. developer.apple.com/library/ios/technotes/tn2265/_index.html#//…
-
Brian Whipp over 7 yearsWhile both answers are correct, I find this answer most useful. It should be the top answer.