请分享您的方式,以确定是否由于用户点击远程通知而激活该应用。
Apple docs中描述的方法(在didReceiveRemoteNotification中检查“applicationState!= UIApplicationStateActive”)并不总是正确的:
如果远程通知是在应用程序处于活动状态时立即发送的,则会将其视为点击误报。
如果用户打开控制中心或快速应用程序切换器,该应用程序将变为非活动状态,但仍会在屏幕上显示。在这些情况下,检查也会失败。
至于#2 - 我找到了该案例iOS: Push notifications, UIApplicationStateInactive and fast app switching的主题,但发布的解决方案并没有解决问题#1。
正如我所看到的,有许多应用程序受此问题影响 - 例如Facebook Messenger。