应用程序未运行时未调用本地通知的 UNUserNotificationCenterDelegate didReceive 响应

Posted

技术标签:

【中文标题】应用程序未运行时未调用本地通知的 UNUserNotificationCenterDelegate didReceive 响应【英文标题】:UNUserNotificationCenterDelegate didReceive response for Local Notifications not called when app is not running 【发布时间】:2018-01-04 11:11:05 【问题描述】:

我正在尝试将新的 UserNotifications 框架用于本地通知。单击/打开通知时,我将用户重定向到不同的视图控制器。 UNUserNotificationCenterDelegate didReceive 方法没有正确处理通知。

当通知在前台,然后被点击时,它会重定向到右边的viewcontroller,但是,当应用程序关闭并打开通知时,应用程序会启动,但是,主viewcontroller会显示出来.

【问题讨论】:

检查启动选项数据 【参考方案1】:

问题实际上不在于didReceive,而是在于视图控制器的转换方式,因为方法在完成之前返回。

我正在以编程方式模拟正常的用户流程。问题在于 tableview:didselectRowAt 在其内部的 performSegue 方法执行之前返回。

我最终改为手动加载 VC,并显式调用 UInavigationController:pushViewController(vc:animated:) 将它们推送到导航堆栈上。

【讨论】:

以上是关于应用程序未运行时未调用本地通知的 UNUserNotificationCenterDelegate didReceive 响应的主要内容,如果未能解决你的问题,请参考以下文章

调试时未调用推送通知扩展

应用程序在后台时未触发 iOS 本地通知

显示关闭时未调用 didRangeBeacons 方法

IBM Worklight 5.0.6.1 - 关闭电话/应用程序时未收到推送通知

Xamarin.iOS 应用程序未运行时未处理 Amazon SNS 推送通知

Firebase FCM onLaunch 代码在单击通知时未运行功能