Apple docs によると、アプリケーションの状態変数が非アクティブかどうかを確認することで、通知に対するユーザーのタップを識別できます (リンク)。
iOS 注: iOS では、アプリケーションの状態を調べることで、ユーザーがアクション ボタンをタップした結果としてアプリケーションが起動されたのか、それとも既に実行中のアプリケーションに通知が配信されたのかを判断できます。application:didReceiveRemoteNotification: または application:didReceiveLocalNotification: メソッドのデリゲートの実装で、applicationState プロパティの値を取得して評価します。値が UIApplicationStateInactive の場合、ユーザーはアクション ボタンをタップしました。値が UIApplicationStateActive の場合、アプリケーションは通知を受信したときに最前面にありました。
しかし、フォアグラウンドにシステム アラート (システム アラートとは、iOS によって制御されるアプリのフォアグラウンドに表示されるアラート ビューを意味します) があり、アプリが非アクティブな状態 (「システムがalert" が表示されている場合、背後にあるアプリは、アプリのアプリケーション状態を UIApplicationStateInactiveに設定することによって iOS によって非アクティブにされます) が、ユーザーは引き続きアプリのコンテンツを画面に表示できます。以下の添付ファイルを参照してください。
この状態でアプリが通知を受け取ると、ユーザーが通知をタップしたかのように動作します。このユースケースを解決するソリューションはありますか?