当iOS应用程序位于前台时忽略推送通知

时间:2018-03-11 12:29:54

标签: ios debugging apple-push-notifications

我有一个相当大的iOS项目。当应用程序在前台收到通知时,通知将显示在看起来像AlertView的内容中。我想摆脱它。我不知道这是我很久以前编程的事情,还是项目中的一个框架(Parse,Onesignal,FBSDK)正在这样做。我的问题是,如何找出警报视图的来源,以便删除该代码。我没有在任何地方实现willPresentNotification方法(我已经搜索了整个项目)。我确实有一个didReceiveRemoteNotification方法,即使只是在点击通知时调用它,我也试过将其评论出来。我也搜索了UIAlertView和UIAlertController的整个项目,但无济于事。

1 个答案:

答案 0 :(得分:2)

在设备上检测到iOS10时,

OneSignal SDK会自动使用新的UserNotifications Framework

在这种情况下,不会调用AppDelegate方法didReceiveRemoteNotification方法,而是调用UNUserNotificationCenterDelegate中的方法,SDK会捕获这些方法以记录点击次数/视图。

OneSignal使用callback来处理收到的通知。

  • OSHandleNotificationReceivedBlock:当应用收到仅关注焦点的通知时调用

  • OSHandleNotificationActionBlock:当用户打开或点击通知操作时调用。

  • OSNotificationOpenedResult:用户收到的通知返回的信息。

您可以直接实施UNUserNotificationCenterDelegate方法来处理应用中与通知相关的互动。