gpt4 book ai didi

iOS UILocalNotification 已计划,但未触发

转载 作者:行者123 更新时间:2023-11-29 01:19:53 24 4
gpt4 key购买 nike

我正在制作一个需要本地通知的应用程序。奇怪的事情正在发生。我安排通知:

static func setNotification(body: String, departure: Double, notification_info: Dictionary<String, String> )
{
let notification = UILocalNotification()
notification.alertBody = body
notification.fireDate = NSDate(timeIntervalSinceNow: departure)
notification.alertAction = "ShowDetails"
notification.userInfo = notification_info
notification.soundName = UILocalNotificationDefaultSoundName
UIApplication.sharedApplication().scheduleLocalNotification(notification)
print("notification over: " + String(departure))
print("-------" + String( notification.fireDate ))
}

我打印出我应该在多少秒内收到通知。我进入后台模式,并继续观察何时收到通知。当时间过去后,即使我确定我处于后台模式,我也没有收到任何通知。 (在 Xcode 中,我查看调试导航器 > Energy Impact,它说我在后台)。

当我重新启动手机并运行该应用程序时,它确实会显示通知。一切都很完美。然后,经过更多测试和使用该应用程序后,我的通知再次停止工作(即使通知仍在计划中。我正在跟踪所有计划的通知:

        UIApplication.sharedApplication().scheduledLocalNotifications

我对 Swift 还很陌生,我不知道为什么会发生这种情况。这让我抓狂,不知道为什么我的通知没有触发,即使它是预定的并且一切......

谁能帮帮我?如果您需要更多信息,请询问。

  • 编辑:
    • 我确实设置了权限
    • 通知在 AppDelegate 中设置
    • 出发时间绝对正确

最佳答案

我犯了一个错误,没有向通知添加唯一的 ID(notification.userInfo 并不总是唯一的),并覆盖了之前安排的通知。这就是为什么有些东西会起作用,有时却不起作用。

通过使其唯一来解决问题。谢谢

关于iOS UILocalNotification 已计划,但未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34742256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com