Exécution de Segue à partir de AppDelegate.swift

J'essaie d'effectuer une séance après avoir reçu une notification.

Voici ce que j'ai dans mon application de délégué.

func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) { let viewController = self.window!.rootViewController!.storyboard!.instantiateViewControllerWithIdentifier("SecondViewController") self.window?.rootViewController = viewController } 

Cela m'amène directement à la vue que j'aimerais voir, mais la barre de navigation et la barre d'tabs sont cachées. À partir du délégué de l'application, comment effectuer une section d'une vue à l'autre? Pour que je puisse atteindre par seconde vue comme si j'avais poussé de mon premier?

Avez-vous essayé avec:

 viewController.performSegueWithIdentifier("my_segue_identifier", sender: nil) 

La méthode la plus robuste consiste également à diffuser un NSNotification à partir de votre AppDelegate et à requestr à votre viewcontroller d'écouter une notification spécifique.

Ma solution: append une variable publique dans AppDelegate (flag = 1)

  @available(iOS 10.0, *) func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { print("User Info = ",response.notification.request.content.userInfo) flag = 1; <--- completionHandler() } 

et vérifiez l'indicateur sur rootviewcontroller-> ViewDidLoad. si c'est vrai ? appelez votre segue spesific

  override func viewDidLoad() { super.viewDidLoad() if (flag == 1) { self.performSegue(withIdentifier: "roottanBildirimSegue", sender: self) }