Привет, в моем приложении у меня есть секция уведомлений, и пользователь может активировать уведомления с помощью переключателя. После первого запуска, когда пользователь на коммутаторе, который я получаю, не разрешает или не предупреждает пользователя ios. Если пользователь не разрешает, а переключатель отключается, а пользователь не будет получать уведомления. Теперь, если пользователь попытается переключиться на переключатель, я хочу показать предупреждение пользователю с текстом «Пожалуйста, включите оповещения из настроек». Укажите любой способ предложить это.Оповестить пользователя о включении уведомлений из настроек в ios
0
A
ответ
0
Вы можете проверить разрешение с помощью метода isRegisteredForRemoteNotifications.
- (void)checkForNotificationPermission
{
if (!([[UIApplication sharedApplication] isRegisteredForRemoteNotifications] && [self pushNotificationsEnabled]))
{
// Show alert here
}
}
// For fixing iOS 8 issue mentioned here http://stackoverflow.com/a/28441181/1104384
- (BOOL)pushNotificationsEnabled
{
if ([[UIApplication sharedApplication] respondsToSelector:@selector(currentUserNotificationSettings)])
{
UIUserNotificationType types = [[[UIApplication sharedApplication] currentUserNotificationSettings] types];
return (types & UIUserNotificationTypeAlert);
}
else
{
UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
return (types & UIRemoteNotificationTypeAlert);
}
}
0
Для UILocalNotification
проверки разрешения ниже, types
значение параметра будет ни упаковывают пользователь не не позволил.
[[UIApplication sharedApplication] currentUserNotificationSettings]
0
NSString *iOSversion = [[UIDevice currentDevice] systemVersion];
NSString *prefix = [[iOSversion componentsSeparatedByString:@"."] firstObject];
float versionVal = [prefix floatValue];
if (versionVal >= 8)
{
if ([[UIApplication sharedApplication] currentUserNotificationSettings].types != UIUserNotificationTypeNone)
{
NSLog(@" Push Notification ON");
}
else
{
NSString *msg = @"Please press ON to enable Push Notification";
UIAlertView *alert_push = [[UIAlertView alloc] initWithTitle:@"Push Notification Service Disable" message:msg delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Setting", nil];
alert_push.tag = 2;
[alert_push show];
NSLog(@" Push Notification OFF");
}
}
else
{
UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
if (types != UIRemoteNotificationTypeNone)
{
NSLog(@" Push Notification ON");
}
else
{
NSString *msg = @"Please press ON to enable Push Notification";
UIAlertView *alert_push = [[UIAlertView alloc] initWithTitle:@"Push Notification Service Disable" message:msg delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Setting", nil];
alert_push.tag = 2;
[alert_push show];
NSLog(@" Push Notification OFF");
}
}
0
UIUserNotificationType allNotificationTypes =
(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge);
UIUserNotificationSettings *settings =
[UIUserNotificationSettings settingsForTypes:allNotificationTypes categories:nil];
[[UIAp
пликация sharedApplication] registerUserNotificationSettings: Настройки];
// [[UIApplicationsharedApplication] registerForRemoteNotifications];
if ([[UIApplication sharedApplication] respondsToSelector:@selector(currentUserNotificationSettings)]) {
UIUserNotificationType types = [[[UIApplication sharedApplication] currentUserNotificationSettings] types];
if (types == UIUserNotificationTypeNone) {
[_TransparentView setBackgroundColor:[[UIColor clearColor] colorWithAlphaComponent:0.8]];
[email protected]"Please enable notifications from settings.";
}
}
}
0
Пробуйте этот код. Он будет работать для iOS 8.0 позже и до версий.
if (([[[UIDevice currentDevice] systemVersion] compare:8.0 options:NSNumericSearch] != NSOrderedAscending)) {
if (![[UIApplication sharedApplication] isRegisteredForRemoteNotifications])
{
DisplayAlert(@"Please enable Permission from Settings->App Name->Notifications->Allow Notifications");
return;
}
}
else{
UIRemoteNotificationType status = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
if (status == UIRemoteNotificationTypeNone)
{
DisplayAlert(@"Please enable Permission from Settings->App Name->Notifications->Allow Notifications");
return;
}
}
Смежные вопросы
- 1. Правильный способ оповестить пользователя о проблеме с приложением iOS
- 2. Оповестить пользователя о запущенном обновлении таблицы mysql
- 3. Лучший способ оповестить пользователя о тревоге
- 4. Лучший способ оповестить приложение iOS о обновлениях базы данных сервера
- 5. Можно ли оповестить оповещения о синтаксисе для конкретного iOS?
- 6. Лучший способ оповестить пользователя
- 7. Ошибка приложения при включении доступа камеры из настроек iOS 8
- 8. Как уведомить пользователя о включении gpsprovider
- 9. Изменение настроек уведомлений устройства в программном обеспечении в iOS
- 10. Как оповестить анонимного пользователя о тайм-ауте сеанса и перенаправить
- 11. Доступный способ оповестить пользователя о завершении сеанса связи
- 12. PlotProjects - использование уведомлений о проживании в iOS
- 13. Как обрабатывать выбор пользователя настроек уведомлений разрешения оповещения
- 14. Стратегия для настроек push-уведомлений
- 15. Оповестить пользователя, когда все карты в паре
- 16. оповестить о повторяющихся записях в csv upload
- 17. Приложение iOS не отображается в Центре настроек/уведомлений
- 18. iOS: Формула для уведомлений о предупреждениях
- 19. Как читать настройки уведомлений уровня iOS из центра уведомлений
- 20. Оповестить пользователя с выбором из кнопки начальной загрузки
- 21. Отправка нескольких уведомлений о загрузке пользователям iOS
- 22. Уведомление о включении/высвобождении монитора
- 23. AWS Cognito: попытка оповестить пользователя об ошибке
- 24. Перекрестное запуске других приложений из уведомлений о действиях iOS
- 25. Как показать оповещение или оповестить пользователя о том, что имя пользователя уже существует
- 26. кнопка для настроек уведомлений в Android lollipop
- 27. Удалить UILocalNotification из Центра уведомлений iOS автоматически
- 28. Сохранение настроек приложения - iOS
- 29. Плагины уведомлений о приложениях Rails
- 30. iOS в приложении настроек