Где ни один случай не используется в уведомлениях?

let types: UIUserNotificationType = [.alert, .sound, .badge, .none]
let settings = UIUserNotificationSettings(forTypes: types, categories: nil)
application.registerUserNotificationSettings(settings)

или этот код:

guard let settings = UIApplication.sharedApplication().currentUserNotificationSettings() where settings.types != .None else {}

не знаю, как в этом разобраться, очевидно, если вы зарегистрируетесь для этого, то у вас будет это среди ваших типов настроек...

Я читал здесь и здесь, но не могу понять это. Не удалось найти документацию по этому вопросу. Хотя, когда я Ctrl + клик на это говорит:

приложение может не отображать никакой интерфейс после получения уведомления

Используется ли это для обозначения того, что после получения уведомления пользователь ничего не может сделать? Как это то, что мы должны зарегистрироваться? Что может пойти не так, если мы не зарегистрируемся для этого?

1 ответ

Решение

.none это просто нулевой вариант - ни .alert ни .sound ни .badge, Это не вариант, а отсутствие какого-либо из вариантов.

Вам не нужно будет писать код для регистрации .noneочевидно. Но пользователь может настроить вещи таким образом в Настройках, полностью отключив возможность уведомлений представлять оповещения, добавлять значки или воспроизводить звуки, и вам нужен способ сообщить об этом и проверить его.

Обратите внимание, кстати, что .none (нулевая опция) не импортируется по имени в Swift 3; это соответствует просто пустому набору [], (И в любом случае UIUserNotificationType устарела в iOS 10.)

Другие вопросы по тегам