アプリケーションが終了状態で、プッシュ通知を受け取ったとき。私はアプリを正常に読み込ませたいと思っていますが、閉じるボタンを追加したrootViewController
にはviewController
が表示されます。このボタンをタップすると、私は単にviewController
を却下したいだけです。通知がタップされたときのrootViewController上の現在のviewController
func userNotificationCenter(_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping() -> Void) {
let tabBarController = self.window!.rootViewController as! UITabBarController
self.window?.rootViewController = tabBarController
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
apptVC = storyboard.instantiateViewController(withIdentifier: "NotificationVC") as! NotificationsViewController
window?.makeKeyAndVisible()
window?.rootViewController?.present(apptVC, animated: true, completion: nil)
completionHandler()
}
}
しかし残念ながら、私はアプリがクラッシュすることを実行します。私はこれをやった通知からアプリを開いたときに呼び出されるメソッドで
。 firebase
を使用してプッシュ通知を実装しました。私はアプリが正常に実行されるようにしたいのですが、ユーザーが通知から来ているときに起動時にルートコントローラに表示コントローラを表示するのと同じです。ここ
エラーメッセージが参考になるお役に立てば幸いです。あなたのストーリーボードと 'makeKeyAndVisible'コードはここに表示されません。どこでも 'didFinishLaunching'にあるはずです。この関数では、最後のコード行のみが必要です。 – Joe
@Joeあなたが示唆したようにコードを追加しましたが、それでも同じです。アプリケーションが終了状態になるとエラーが表示され、そこから実行されていないエラーがxCodeで印刷されることはありません。 –
@ChaudhryTalhaこれは完全に間違っています!あなたは、起動オプションではないデリゲートメソッドが必要になります – Mannopson