Принимать уведомления позже, чем первый запуск - PullRequest
0 голосов
/ 26 января 2020

В моем приложении пользователь может использовать уведомления, отправленные из приложения. При первом запуске появляется уведомление об отказе или разрешении уведомлений, сделанных в приложении applelegate. Если я принимаю уведомления, все в порядке. Я сделал экран / viewcontroller, в котором пользователь может принимать или не получать уведомления с помощью переключателя. Если пользователь отказался от уведомлений при первом запуске, как я могу получить доступ к элементам управления в appdelegate, как если бы я был при первом запуске?

Спасибо

1 Ответ

1 голос
/ 27 января 2020

Согласно Документации разработчика Apple и этому ответу (для пояснения), разрешения на уведомления * pu sh могут быть запрошены только один раз. iOS сохраняет решение пользователя после того, как оно было принято, и нет способа запросить снова. Приготовьтесь к тому, что некоторые пользователи могут не захотеть получать уведомления, вы всегда можете проверить статус разрешения, полученного вашим приложением:

let center = UNUserNotificationCenter.current()
center.getNotificationSettings { settings in
    guard settings.authorizationStatus == .authorized else { return }

    if settings.alertSetting == .enabled {
        // Schedule an alert-only notification.
    } else {
        // Schedule a notification with a badge and sound.
    }
}
...