iOS 10本地通知未显示



我一直在为iOS 10中的应用程序设置本地通知,但在模拟器中测试时,我发现通知会被成功安排,但在计划时间到来时永远不会实际出现。这是我一直在使用的代码:

let UNcenter = UNUserNotificationCenter.current()
UNcenter.requestAuthorization(options: [.alert, .badge, .sound]) { (granted, error) in
// Enable or disable features based on authorization
if granted == true {
self.testNotification()

}
}

然后它运行以下代码(假设日期/时间在未来):

func testNotification () {
let date = NSDateComponents()

date.hour = 16
date.minute = 06
date.second = 00
date.day = 26
date.month = 1
date.year = 2017
let trigger = UNCalendarNotificationTrigger(dateMatching: date as DateComponents, repeats: false)
let content = UNMutableNotificationContent()
content.title = "TestTitle"
content.body = "TestBody"
content.subtitle = "TestSubtitle"
let request = UNNotificationRequest(identifier: "TestID", content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request) {(error) in
if let error = error {
print("error: (error)")
} else {
print("Scheduled Notification")
}
}
}

从这段代码中,它将始终打印"Scheduled Notification",但当应该触发通知时,它从不触发。我一直找不到任何解决办法。

以下是一些步骤。

  1. 请确保您拥有权限。如果没有,请使用UNUserNotificationCenter.current().requestAuthorization获取。如果您想多次显示弹出的请求,请按照下面的答案进行操作。

  2. 如果要显示通知前台,必须将UNUserNotificationCenterDelegate分配到某个位置。

这个答案可能会有所帮助。

相关内容

  • 没有找到相关文章

最新更新