Подтвердить что ты не робот

Как вернуться к диалоговому окну "Разрешить Push-уведомления" после того, как он был уволен один раз?

Я создаю приложение, которое в значительной степени полагается на APN. При первом запуске моего приложения iOS спрашивает, разрешено ли этому приложению использовать APN (в результате вызова registerForRemoteNotificationTypes:). Однако после отклонения этот диалог никогда не появляется. Мне нужно вручную перейти на Settings->Notifications->MyApp, чтобы включить/отключить там. Итак, есть ли способ избежать этой суеты и на самом деле испытать, что пользователь будет испытывать при первом запуске, каждый раз, когда я запускаю свое приложение в режиме отладки?

4b9b3361

Ответ 1

Здесь, как Apple говорит, вы можете это сделать:

Сброс уведомлений о предупреждениях Push Push для iOS

В первый раз, когда приложение с поддержкой push-приложений регистрируется для push-уведомлений, iOS запрашивает у пользователя, хотят ли они получать уведомления для этого приложения. Как только пользователь отреагировал на это предупреждение, он снова не будет представлен если устройство не восстановлено или приложение не было удалено не менее дня.

Если вы хотите имитировать первый запуск вашего приложения, вы можете оставить приложение удалено в течение дня. Вы можете добиться последнего без фактически ожидая дня, выполнив следующие шаги:

  • Удалите приложение с устройства.

  • Полностью выключите устройство и включите его.

  • Перейдите в "Настройки" > "Основные" > "Дата и время" и установите дату в день или более.

  • Полностью выключите устройство и снова включите его.

Ответ 2

Поскольку время - деньги, а другие - FOREVER, просто изменяйте свой идентификатор связки снова и снова во время отладки, каждый раз, когда уведомления будут вызваны новыми. Как только вы удовлетворены возвратом кода к исходному идентификатору пакета.

Ответ 3

В iOS 9.x вы можете получить приглашение при каждом удалении приложения и переустановить его. Это справедливо как для загрузки приложений AppStore, так и для режима adhoc. Маркер устройства будет уникальным каждый раз.

@chengsam подтвердил, что это верно и в iOS 10.

Ответ 4

В IOS10 теперь я могу получить приглашение снова, просто удалив приложение.

Ответ 5

В настоящее время их нет программных способов заставить пользователя повторно принять Push Notificaitons после того, как они уже решили сказать "нет".

Вы должны просто проверить, был ли вам предоставлен доступ, и если не отображать представление, напоминающее пользователю о том, чтобы вручную разрешить в настройках конфиденциальности, чтобы включить функции push-уведомления вашего приложения.

Ответ 6

Моя проблема не регистрировалась для UserNotificationSettings. Это позволило APN работать, но не фоновый звук или значок.

      [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];

Ответ 7

Если вы просто проверяете, что запрос Push Push отображается правильно, используйте симулятор. Все, что вам нужно сделать, это удалить приложение и переустановить, и приглашение появится снова, когда вы попытаетесь зарегистрироваться для push-уведомлений.