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