检测应用程序是否通过点击本地通知启动 Swift

Detect if App was Launched From Tapping Local Notification Swift

我想知道如何检测我的应用程序是否是从用户点击本地通知启动的。

我目前正在使用方法 userNotificationCenter(_:didReceive:withCompletionHandler:) 我的应用程序正确检测到应用程序仅在应用程序仍处于活动状态时使用此方法从通知启动。如果我通过在应用程序切换器中向上滑动来结束应用程序,则点击通知会打开应用程序但不会在 userNotificationCenter(_:didReceive:withCompletionHandler:).

中注册

我之前在 viewDidLoad() 中将 UNUserNotificationCenter.current().delegate 设置为 self。有人说改成application(_:didFinishLaunchingWithOptions:),我试过这样:

func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
    
    UNUserNotificationCenter.current().delegate = self
    
    return true
}

但是,问题依然存在。

我的问题:如何检测我的应用程序是否从用户点击本地通知启动,应用程序是活动还是非活动?

Swift 版本:swift 5 Xcode版本:Xcode13

options 中查找您的场景委托 willConnect 方法或(如果没有场景委托)您的应用程序委托 willFinishLaunching 方法。这会告诉您您是如何启动的。