私はストーリーボードを使用しています。ユーザーがリモートプッシュ通知を受け取ったとき、アプリがバックグラウンドであっても開いていても常に同じビューを開きます。私が提示する必要があるビューは、ストーリーボードに初期ビューコントローラを設定した後の4つのビューです。私はこの記事読み:リモートプッシュ通知を受け取ったときにビューコントロールを開きます。
How can I show a modal view in response to a notification as a new window? (no parent vc)
Open a specific tab/view when user receives a push notification
をだからここに私のコードです:
- (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はビューコントロールですストーリーボードの最初のものとして設定されています。
多くのありがとうございます。
と仮定、「HomeViewControllerは」ストーリーボードの最初のビューコントローラで、ボタンをクリックした後、あなたの特別な場合のためにあなたがすべきとして
4.-プッシュを適応しなければなりませんあなたはpushメソッドで "SecondViewController"にいます。今、プッシュ通知を取得しています。あなたは "NotificationViewController"を押したり、それをモーダルにしたいですか? –
私はあなたの説明を理解していないので、私はnotificacionViewControllerを得るまでスタックをプッシュすることを提案しますか?ありがとう – theomen