получить доступ к настройкам / разрешениям push-уведомлений пользователя в iPhone, используя цель c

мы ищем способ узнать (не изменить, просто узнать), разрешено ли нашему приложению получать уведомления или нет от нашего сервиса. Вероятно, для этого требуется доступ только для чтения к свойствам «общих настроек» или некоторым конкретным API. Кто-нибудь знает, как получить эту информацию? Я говорю об информации в iPhone --> Настройки --> Уведомления.

Для тех, кто заинтересован, это обоснование: у нас есть некоторые проблемы с пользователями, нажимающими НЕТ, когда их просят разрешить нашему приложению получать push-уведомления. Как вы можете себе представить, пользователи могут просто нажать «нет», потому что они торопятся пройти регистрацию, или потому, что они не совсем понимают, что происходит, или просто потому, что они не слишком уверены, следует ли разрешать приложению получать уведомления. Но затем они забывают, что им было отказано в разрешении, поэтому файлы запрашивают поддержку, потому что они не получают push-уведомления.


person Marco    schedule 25.02.2010    source источник


Ответы (2)


Звоните -[[UIApplication sharedApplication] enabledRemoteNotificationTypes]. Из документов:

Значения в возвращаемой битовой маске указывают типы уведомлений, которые в настоящее время включены для приложения. Эти типы сначала устанавливаются, когда приложение вызывает метод registerForRemoteNotificationTypes: для регистрации в службе push-уведомлений Apple. После этого пользователь может изменить эти принятые типы уведомлений в настройках «Уведомления» приложения «Настройки». Этот метод возвращает эти начальные или измененные значения.

person Ole Begemann    schedule 25.02.2010
comment
Обратите внимание, что enabledRemoteNotificationTypes — это метод экземпляра, который следует вызывать в SharedApplication. (Просто хотел убедиться, что кто-то не скопирует вставку, а затем пожалуется, что это не работает) - person Brandon Bodnar; 25.02.2010
comment
Топ банан! это именно то, что мне было нужно, спасибо! Кстати, как говорит Брэндон, код, если кто-то не знает, как добраться до текущего экземпляра приложения, таков: [[UIApplication sharedApplication] enableRemoteNotificationTypes] - person Marco; 01.03.2010

-enabledRemoteNotificationTypes устарел.

Вместо этого рекомендуется использовать простое логическое значение:

[[UIApplication sharedApplication] isRegisteredForRemoteNotifications]

person chris stamper    schedule 05.09.2016