I have a custom URL scheme and i want to open a certain ViewController
which is not the root when i go to this URL. I have been able to do that and what remains is
To deal with pushing and popping the viewControllers from AppDelegate, you need to use [UIApplication sharedApplication]
which keeps track to all of viewControllers, beginning with root one.
To PUSH ViewController from AppDelegate
ListingViewController *listingVC = [[ListingViewController alloc] init];
[(UINavigationController *)self.window.rootViewController pushViewController:listingVC animated:YES];
To POP that ViewController you just presented, you need to use this code
[(UINavigationController *)[UIApplication sharedApplication].keyWindow.rootViewController popViewControllerAnimated:YES ];