次のようなナビゲーション ビュー コントローラー階層があるとします。
A => B => C
ユーザーはほとんどの時間を で過ごし、入力を提供する番になったときBにのみ に移動します。C
アプリがバックグラウンドになっているときに順番が来ると、ローカル通知が届きます。そのローカル通知をタップすると、直接 に移動しCます。
私の現在の実装では、ユーザーがローカル通知をタップすると、AppDelegateはそれを 経由で受け取りますapplication:didReceiveLocalNotification:。次に、 を見つけBて、 にセグエするように指示しCます。
ただし、アプリがアンロードされている場合、これは機能しません。ユーザーが最終的にローカル通知を操作すると、アプリは を介してそれを受け取りますapplication:didFinishLaunchingWithOptions:。つまり、アプリは から開始する必要がありAます。
この問題は、アプリの特定の状態への「ディープ リンク」に関するものに一般化されるため、私の質問は次のとおりです。
A => B => Cアプリの現在の状態がどのようなものであれ、ローカル通知が処理されたことに応じて「ディープ リンク」するための最善の戦略は何ですか?