リモート通知を受け取り、通知の種類に応じてナビゲーションコントローラのビューコントローラを変更します。アプリが実行されていないときにリモート通知を処理するとクラッシュする
アプリがフォアグラウンドにあるとき、またはアプリがバックグラウンドにあるが完全に閉じられていないとき(マルチタスクバーから)はすべて正常に機能する。
しかし、アプリが終了し、リモート通知を受け取ると、アプリが開くとすぐにクラッシュします。 ViewControllerをセットアップする方法が間違っていますか?
ここにいくつかのコードがあります。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary
*)launchOptions {
// Push required screens into navigation controller
UILocalNotification *remoteNotif = [launchOptions objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey];
//Accept push notification when app is not open
if (remoteNotif) {
[self handleRemoteNotification:application userInfo:remoteNotif.userInfo];
return YES;
}
[window addSubview:navigationController.view];
[window makeKeyAndVisible];
return YES;
}
-(void) handleRemoteNotification:(UIApplication *)application userInfo:(NSDictionary *)userInfo {
application.applicationIconBadgeNumber = 0;
NSMutableArray *viewControllers = [NSMutableArray array];
[viewControllers addObject:driverWaitViewController];
[viewControllers addObject:newJobsViewController];
[navigationController setViewControllers:viewControllers];
}
返信いただきありがとうございます。しかし何か他の問題。どうやって解決したのか見てください。 – Prasanna
ええ、私はそれが奇妙だと思ったが、私はそれに追いつかなかった。ごめんなさい。 – vakio