ストーリーボードを使用しています。アプリがバックグラウンドにあるか開いている場合でも、ユーザーがリモートプッシュ通知を受信したときに常に同じビューを開きたいです。提示する必要のあるビューは、ストーリーボードに設定された最初のビューコントローラーの後の4つのビューです。私はこの投稿を読みました:
通知に応じてモーダルビューを新しいウィンドウとして表示するにはどうすればよいですか?(親VCなし)
ユーザーがプッシュ通知を受け取ったら、特定のタブ/ビューを開きます
だからここに私のコードがあります:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
UINavigationController *navController = (UINavigationController *)self.window.rootViewController;
notificacionViewController *menu = [navController.storyboard instantiateViewControllerWithIdentifier:@"notificacion"];
// First item in array is bottom of stack, last item is top.
navController.viewControllers = [NSArray arrayWithObjects:menu,nil];
[self.window makeKeyAndVisible];
}
しかし、通知を受け取ると、アプリは次のエラーでクラッシュします。
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[locationViewController setViewControllers:]: unrecognized selector sent to instance 0x42ccd0'
locationViewControllerは、ストーリーボードで初期として設定されたビューコントローラーです。
どうもありがとう。