2017-02-01 9 views
0

プッシュ通知を受信して​​いて、ペイロードにアプリケーションがバックグラウンドであるかどうかを確認します。はいの場合は、ユーザーをメッセージ画面にリダイレクトします。私のアプリにはナビゲーションコントローラとスライディングメニューがあります。それは(UINavigationバーなど)が欠落して多くのコンポーネントがあるとして、それがクラッシュしたときただし、この画面がロードプッシュ通知を受け取った後、特定の画面にリダイレクトする - スウィフト

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]) { 
      if (application.applicationState == UIApplicationState.inactive || application.applicationState == UIApplicationState.background ) { 
        let storyboard = UIStoryboard(name: "Main", bundle: nil) 
        let vc = storyboard.instantiateViewController(withIdentifier: "Message") 
        window?.rootViewController = vc 
      } 
    } 

:私はこのコードを使用しようとしています。リダイレクトする別の方法がありますか、必要なセグを作成していますか?

答えて

0

ナビゲーションバー/ナビゲーションアイテムが見つからない場合は、ルートコントローラとして設定する前にビューコントローラをナビゲーションスタックにプッシュしようとしましたか?例:

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
let vc = storyboard.instantiateViewController(withIdentifier: "Message") 
let navVC = UINavigationController(rootViewController: vc) 
window?.rootViewController = navVC 
関連する問題