У меня есть приложение 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;
}
}];