我正在尝试学习 Swift,并且正在阅读有关推送通知的教程。
let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge , .Sound], categories: nil)
给我错误
“没有更多上下文的表达类型是模棱两可的”。
我直接从教程中复制/粘贴了这一行,并在 StackOverFlow 上找到了这一行。
我究竟做错了什么?
我正在使用 Xcode 8。
我正在尝试学习 Swift,并且正在阅读有关推送通知的教程。
let settings = UIUserNotificationSettings(forTypes: [.Alert, .Badge , .Sound], categories: nil)
给我错误
“没有更多上下文的表达类型是模棱两可的”。
我直接从教程中复制/粘贴了这一行,并在 StackOverFlow 上找到了这一行。
我究竟做错了什么?
我正在使用 Xcode 8。
查看UIUserNotificationSettings
. 它的签名在 Swift 3 中发生了变化,类型的值也发生了变化。
你需要:
let settings = UIUserNotificationSettings(types: [.alert, .badge , .sound], categories: nil)
当然,如果您只支持 iOS 10 及更高版本,那么您根本不应该使用UIUserNotificationSettings
它,因为它现在已被弃用。改为使用UNNotificationSettings
。但是,如果您仍然支持 iOS 9 或更早版本,那么UIUserNotificationSettings
只要您更改为更新的语法,使用就可以了。
UIUserNotificationSettings
在 iOS 10中已弃用UNNotificationSettings
,如果您想实现,请按UNNotificationSettings
如下方式实现。
首先,您需要为此导入UserNotifications
。
let center = UNUserNotificationCenter.current()
center.requestAuthorization(options: [.alert, .badge , .sound]) {
(granted, error) in
}
有关此检查的更多详细信息,请查看Michał Kałużny 的本教程UserNotifications.framework