ios - UILocalNotification 的 UserInfo 始终为 nil

标签 ios uilocalnotification swift3

我正在创建简单的 UILocalNotification,没有调度,只是从后台使用以下代码:

let n = UILocalNotification()
n.alertBody = "\(nam) \(wat)"
n.userInfo = ["id": id, "t":type.rawValue]
n.soundName = UILocalNotificationDefaultSoundName
n.category = "call_chat"
app.scheduleLocalNotification(n)

我正在打印 userInfo

func application(_ application: UIApplication, didReceive notification: UILocalNotification)

到这里一切都很好。但是我需要稍后关闭一些具有相同 ID 的通知并创建新的通知。当我试图通过 UIApplication.shared.scheduledLocalNotifications 获取它们时,它们在 iOS9 和 userInfo==["":""中都有 userInfo==nil ] 在 iOS10 测试版中。

最佳答案

所以,最后我发现,scheduledLocalNotifications 不包含已经显示的通知。唯一的方法是将它们存储在数组中,或者像 here 这样使用 NSKeyArchiver .

关于ios - UILocalNotification 的 UserInfo 始终为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38961266/

相关文章:

ios - 如何在 swift 3 中调整字体大小以适应高度(而不是宽度)

ios - 快速切换 View Controller

ios - 当应用程序处于前台时,UILocalNotification 在通知中心显示警报

iPhone 5 的 iOS 按钮定位

ios - 重复和取消 UILocalNotification

iphone - 如何为 UILocalnotification 增加/减少 application.badge 号码

ios - 在 Realm 中追加结果数组

ios - 如何在出现键盘时对 UIView 进行排序?

iphone - 如何将使用 AVFoundation 拍摄的照片保存到相册?

ios - 向 map 添加注释太慢 - iOS