我正在制作提醒应用。该应用会在特定时间显示由用户设置的通知。我使用本地通知来显示提醒。
问题是,即使用户没有点击通知,我也希望在收到本地通知时运行一些代码。有没有办法在swift中做到这一点?
答案 0 :(得分:3)
我相信您应该在AppDelegate.swift中添加方法application(_ application: UIApplication, didReceive notification: UILocalNotification)
。您希望实现的代码应该在那里。即使用户没有点击通知,代码也会被执行。但无论如何,该应用程序应该运行。
以下是apple docs的摘录:
如果 当通知触发时,应用程序在前台不活动, 系统使用UILocalNotification对象中的信息 确定是否应显示警报,标记应用程序图标或 发出声音。如果应用程序在前台运行,则为系统 直接调用此方法而不以任何方式提醒用户。
如果您愿意,可以在委托中实现此方法 通知发生了本地通知。例如,日历 应用可能会使用本地通知来提醒用户即将发布 事件
如果用户选择在发生本地通知时打开应用, 传递选项字典传递给 application(:willFinishLaunchingWithOptions :)和 application(:didFinishLaunchingWithOptions :)方法包含 localNotification键。在你之后的某个时刻调用这个方法 委托的应用程序(_:didFinishLaunchingWithOptions :)方法。