当我试图通过单击通知打开应用程序时,这个No windows have a root view controller, cannot save application state
错误显示,它没有导航到正确的页面。应用程序只是打开了所有。
我该怎么解决这个问题?
苹果代表:
import UIKit
import Flutter
import Firebase
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
if #available(iOS 10.0, *) {
UNUserNotificationCenter.current().delegate = self as UNUserNotificationCenterDelegate
}
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
override func application(_ application: UIApplication, shouldSaveSecureApplicationState coder: NSCoder) -> Bool {
return true
}
override func application(_ application: UIApplication, shouldRestoreSecureApplicationState coder: NSCoder) -> Bool {
return true
}
override func applicationDidBecomeActive(_ application: UIApplication) {
signal(SIGPIPE, SIG_IGN);
}
override func applicationWillEnterForeground(_ application: UIApplication) {
signal(SIGPIPE, SIG_IGN);
}
override func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
Messaging.messaging().apnsToken = deviceToken
return super.application(application, didRegisterForRemoteNotificationsWithDeviceToken: deviceToken)
}
}
1条答案
按热度按时间2izufjch1#
此问题有几个潜在原因:
应用的情节提要或xib文件可能配置不正确。请仔细检查是否已在情节提要或xib文件中将初始视图控制器设置为应用的根视图控制器。设置根视图控制器之前,应用可能正在尝试还原其状态。请尝试在应用的
didFinishLaunchingWithOption
方法中设置根视图控制器。而不是在applicationDidBecomeActive
中应用可能面临内存警告,因此正在释放UIViewController。在这种情况下,您必须处理内存警告并保存VC的状态。如果没有关于特定应用的更多信息,很难确定。但需要检查一些事项,以帮助解决问题。*