1

インターネットとスタック オーバーフローを検索しましたが、まだこの問題を解決できません。

タブ付きのアプリケーション テンプレートです。

アプリが実行されていないときにプッシュ通知を受信したときに、launchOptions の内容を読み取りたい

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptionsJSONデータなどを解析することでこれを行います...

次に、これをストーリーボードの別のビューに表示したいと思います。

私はやるべきいくつかの投稿を読みました:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; DetailViewController *ivc = [storyboard instantiateViewControllerWithIdentifier:@"Detail"]; [(UINavigationController*)self.window.rootViewController pushViewController:ivc animated:NO];

しかし、これは私に与えています

*キャッチされない例外 'NSInvalidArgumentException' によるアプリの終了、理由: '-[UITabBarController pushViewController:animated:]: 認識されないセレクターがインスタンス 0x1c5a0c20 に送信されました'

アプリがバックグラウンドで実行されていて、プッシュを受け取ったとき

- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)notification電話する[[NSNotificationCenter defaultCenter] postNotificationName:@"receivedPushNotification" object:self];

これは、現在表示されているビューが何であるかを伝えます

detail = [self.storyboard instantiateViewControllerWithIdentifier:@"Detail"]; [self.navigationController pushViewController:detail animated:YES];

これは正常に動作します。

問題は、アプリの最初の起動時にこれらのビューが読み込まれないため、appDelegate からユーザー画面に詳細ビュー コントローラーを配置する方法が必要です。

ありがとう

4

1 に答える 1