I can\'t seem to get a prompt to show for registerUserNotificationSettings in iOS 8.1 or 8.2.
Here is what I\'m doing in didFinishLaunchingWithOption
Since iOS 11 Resetting the Push Notifications Permissions Alert on iOS procedure seems not to be necessary anymore. Just un-/reinstall the app.
Using your code, I get the prompt on the first app launch, and only on the first launch. But afaik, that's the expected behavior in iOS. At least it's the same for photo library, microphone access etc:

Settings App you can configure Notifications for each appNotificationsThe 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:
- Delete your app from the device.
- Turn the device off completely and turn it back on.
- Go to Settings > General > Date & Time and set the date ahead a day or more.
- Turn the device off completely again and turn it back on.
Source: https://developer.apple.com/library/ios/technotes/tn2265/_index.html
If anybody is still stuck, toggling the options worked for me. It was this
UNAuthorizationOptions options = UNAuthorizationOptionAlert & UNAuthorizationOptionSound;
and I changed it to this
UNAuthorizationOptions options = UNAuthorizationOptionAlert;
and back to
UNAuthorizationOptions options = UNAuthorizationOptionAlert & UNAuthorizationOptionSound;
Change build target latest version you will see the popup message. Same issue with me in iOS 8 its not showing, but in iOS 10 its showing the alert pop message, This alert message will be displayed only once for the application cycle. Unless you delete and reinstall new one.
- (void)registerLocalNotification{
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes: UIUserNotificationTypeAlert | UIUserNotificationTypeSound categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
[[UIApplication sharedApplication] registerForRemoteNotifications];
}