getNotificationSettingsWithCompletionHandler - обработчик завершения никогда не выполняется - PullRequest
0 голосов
/ 19 июня 2020

У меня есть приложение Cordova, использующее phonegap-plugin-pu sh (2.3.0). Приложение никогда не запрашивает у пользователя разрешение на отображение уведомлений pu sh. Похоже, что причина root заключается в том, что getNotificationSettingsWithCompletionHandler никогда не вызывает предоставленный обратный вызов.

В фоновых режимах у меня отмечены удаленные уведомления, а «Pu sh Notifications» является съемным элементом ниже.

Кордова: 9.0.1

Кордова iOS: 5.1.1

Устройство: iOS 9.3.5

Почему обратный вызов может не поступать и что я должен проверить?

Обновление: Работает в эмуляторе на iOS 10.

__weak UNUserNotificationCenter *weakCenter = center;
    [center getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings * _Nonnull settings) {
        switch (settings.authorizationStatus) {
            case UNAuthorizationStatusNotDetermined:
            {
                [weakCenter requestAuthorizationWithOptions:authorizationOptions completionHandler:^(BOOL granted, NSError * _Nullable error) {
                    if (granted) {
                        [self performSelectorOnMainThread:@selector(registerForRemoteNotifications)
                                               withObject:nil
                                            waitUntilDone:NO];
                    }
                }];
                break;
            }
            case UNAuthorizationStatusAuthorized:
            {
                [self performSelectorOnMainThread:@selector(registerForRemoteNotifications)
                                       withObject:nil
                                    waitUntilDone:NO];
                break;
            }
            case UNAuthorizationStatusDenied:
            default:
                break;
        }
    }];
...