¿Cómo crear una instancia de un controller de vista con la pestaña y el controller de navigation para un enlace profundo?

Estoy implementando enlaces profundos para mi aplicación y tengo problemas para instanciar mi aplicación correctamente. Para mi enlace de la aplicación, se está abriendo una página de detalles para una publicación de blog, así que lo estoy creando así:

var controller = PostDetailController() 

El problema es que no hay un encabezado de navigation ni barras de tabs en la parte inferior. ¿Cómo inicio correctamente mi aplicación desde el principio y luego cargo mi PostDetailController ?

A continuación se muestra mi storyboard y estoy tratando de vincularme directamente con mi "controller de detalles de publicación", pero con todos los controlleres anteriores detrás de él, ¿cómo hago esto? introduzca la descripción de la imagen aquí

Hay muchas forms diferentes de implementar esto. Suponiendo que está comenzando desde el método openURL: del delegado de la aplicación, aquí hay una vista de alto nivel de una forma de hacerlo.

  1. Desde el método openURL: los parameters necesarios de la url y guárdelo en una var. Global.
  2. Subclass su UITabBarController y cree una function para manejar el enlace profundo. Esta function debe evaluar el set var global en el delegado de la aplicación y determinar qué pestaña y vista deben visualizarse.

Por ejemplo:

  // Check for deep link global var if (myGlobalVar==1){ //Instantiate the destination view (the view you want the deep link to show) DetailViewController *detailViewController = [storyboard instantiateViewControllerWithIdentifier:@"myDetailView"]; //set any vars need in the destination view //Push the detail View to stack of the to be seleceted Tab [[self.viewControllers objectAtIndex:myTABINDEX] pushViewController:detailViewController animated:NO]; //select the tab to the destination view [self setSelectedIndex:myTABINDEX]; }