AppDelegate から ViewController へ UINavigationController を使って遷移したい
現在、プッシュ通知で投げたURLを、AppDelegateで受け取って、WebViewで表示しようとしています。
なお、そのWebViewは、そのためだけに使うものではなく、別の場面でも使っているViewです。
具体的には、ニュースアプリのような感じで、まずタブがあり、それぞれのタブには記事のリストがあり、タップすると「DetailViewController」へ遷移します。このDetailViewControllerをそのまま利用したいと考えています。
別の書き方をすると、UITabBarControllerに、UINavigationControllerが乗っていて、そこへFirstViewController(記事リストページ)-> DetailViewController(記事閲覧ページ)へ遷移するという感じです。伝わりますでしょうか…。
ここから、本題になります。
プッシュ通知で受け取ったURL(こちらは取得確認済み)を、AppDelegateからDetailViewControllerへ直接飛ばそうとしています。
コードは、AppDelegate.m内の「※追記3 willFinishLaunchingWithOptions」に、下記のような形で遷移を試みていますが、思ったように動作しておりません。
どなたか動くコードに心当たりのある方いらっしゃいませんでしょうか。よろしくお願いいたします。
AppDelegate.m
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
FirstViewController *firstView = [storyboard instantiateViewControllerWithIdentifier:@"FirstView"];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:firstView];
DetailViewController* detailView = [storyboard instantiateViewControllerWithIdentifier:@"DetailView"];
detailView.URL = URL;
[navigationController pushViewController:detailView animated:YES];
追記2
プッシュ通知に、Growth Pushというサービスを利用しています。
プッシュ通知自体の実装は下記ページを参照しております。
http://growthhack.sirok.co.jp/growthpush/4371/
追記3
willFinishLaunchingWithOptionsに直接コードを書いた場合、実行されないとのことで、記述場所を変更いたしました。ですので、一旦アラートビューを出し「はい」を選択した場合に、DetailViewControllerに飛ぶように試みています。