Swift 本地通知:没有更多上下文的表达式类型是模棱两可的
Posted
技术标签:
【中文标题】Swift 本地通知:没有更多上下文的表达式类型是模棱两可的【英文标题】:Swift Local Notifications: Type Of Expression is Ambiguous Without More Context 【发布时间】:2017-04-28 03:02:36 【问题描述】:我正在尝试实现本地通知,但收到错误“表达式类型不明确,没有更多上下文”。
我查看了其他相关主题,其中许多主题要么使用早期版本的 Xcode(我使用的是 8.o、ios 10),要么提供了我遇到问题的同一段代码.如果我错过了带有答案的帖子,我深表歉意。我从tutorial site 复制并粘贴了这段代码,这似乎与许多其他网站上使用的代码相同(并作为其他问题的答案提供)。
此代码旨在向用户请求本地通知的权限
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
application.registerUserNotificationSettings(UNNotificationSettings(forTypes: [.Alert , .Badge , .Sound], categories: nil)) // This line sends back the error
return true
谢谢!
【问题讨论】:
只是“UN”而不是“UNNotificationSettings”?它最初是 UIUserNotificationSettings(或类似的东西),我提示将其更改为 UNNotificationSettings,这似乎工作正常 【参考方案1】:根据 Swift 3 和 iOS 10,执行以下操作:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound], completionHandler: nil)
return true
【讨论】:
以上是关于Swift 本地通知:没有更多上下文的表达式类型是模棱两可的的主要内容,如果未能解决你的问题,请参考以下文章
swift 2.0 healthkit requestAuthorizationToShareTypes - 表达式类型不明确,没有更多上下文
Swift:使用 URLSession 的“表达式类型不明确,没有更多上下文”