我正在开发一个通知应用程序,并想知道是否可以检测是否从ViewController.Swift中的通知操作而不是AppDelegate.swift打开了应用程序。我怎么能这样做?
答案 0 :(得分:2)
Krish,每当应用程序启动时,AppDelegate
被调用(如果未修改默认的Main
类),并且在AppDelegate类中,您可以检查启动选项委托中的启动选项是否为通过远程通知打开。这是第一个捕获应用程序打开事件的操作。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let remoteNotif = launchOptions?[UIApplicationLaunchOptionsKey.remoteNotification] as? NSDictionary
if remoteNotif != nil {
let notifName = remoteNotif?["aps"] as! String
print("Notification: \(notifName )")
}
else {
print("Not remote")
}
}
答案 1 :(得分:0)
Here is a complete and easy answer to that
在AppDelegate上处理事件后,您可以使用观察者来放置该事件的ViewController。 通常,您应该将用户重定向到特定视图,具体取决于通知有效负载。