【问题标题】:Swift Local notification not firingSwift 本地通知未触发
【发布时间】:2018-01-02 16:04:55
【问题描述】:

我正在尝试在我的 ios 应用中触发本地通知。

let notificationContent = UNMutableNotificationContent()
notificationContent.title = "Test"
notificationContent.body = alert            
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 1, repeats: false)
let notificationRequest = UNNotificationRequest(identifier: UUID().uuidString, content: notificationContent, trigger: trigger)
UNUserNotificationCenter.current().add(notificationRequest, withCompletionHandler: { (error) in
                if let error = error {
                    print(error)
                }else{
                    print("local push scheduled!")
                }
            })

当我尝试运行它时,本地通知已正确安排,但从未触发...一些帮助?

【问题讨论】:

  • 您是否请求授权向用户发送通知?
  • 是的,我做到了:[.badge, .alert, .sound]
  • 好的,设置中说允许通知?
  • 是的,我的应用程序启用了课程通知
  • timeInterval 必须为 60 秒或更多秒才能使本地通知生效。

标签: ios swift


【解决方案1】:

触发器触发前必须经过的时间(以秒为单位)。该值必须大于零。

基于指定时间信息的新时间间隔触发器。如果repeats 为真,则timeInterval 参数中的值必须为60 秒或更大。

【讨论】:

  • 我相信如果您的应用正在运行,您会收到静音通知。尝试增加 timeInterval 并将您的应用程序发送到后台,然后再发出警报。您还可以使用一些 UserNotificationDelegate 方法,在前台处理通知。
  • 这就是为什么我的通知只有在我弄乱设置中的日期时才会触发(当时应用程序在后台)。我认为还有其他问题,他们没有工作。感谢您的解释。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-28
  • 1970-01-01
相关资源
最近更新 更多