diff --git a/Libraries/PushNotificationIOS/RCTPushNotificationManager.m b/Libraries/PushNotificationIOS/RCTPushNotificationManager.m index 97f26edabcb722..55107370ecee06 100644 --- a/Libraries/PushNotificationIOS/RCTPushNotificationManager.m +++ b/Libraries/PushNotificationIOS/RCTPushNotificationManager.m @@ -142,6 +142,15 @@ - (void)startObserving selector:@selector(handleRemoteNotificationReceived:) name:RCTRemoteNotificationReceived object:nil]; + [self startObservingRegistrationNotifications]; +} + +- (void)startObservingRegistrationNotifications +{ + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(handleRegisterUserNotificationSettings:) + name:RCTRegisterUserNotificationSettings + object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleRemoteNotificationsRegistered:) name:RCTRemoteNotificationsRegistered @@ -150,10 +159,6 @@ - (void)startObserving selector:@selector(handleRemoteNotificationRegistrationError:) name:RCTErrorRemoteNotificationRegistrationFailed object:nil]; - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(handleRegisterUserNotificationSettings:) - name:RCTRegisterUserNotificationSettings - object:nil]; } - (void)stopObserving @@ -319,6 +324,7 @@ - (void)handleRegisterUserNotificationSettings:(NSNotification *)notification return; } + [self startObservingRegistrationNotifications]; _requestPermissionsResolveBlock = resolve; UIUserNotificationType types = UIUserNotificationTypeNone;