Я хочу вызвать функцию onDidReceiveNotification
, когда приложение открыто, нажав на уведомление.(ViewController
- это контроллер первого вида, контроллер корневого представления)
Работает нормально, когда приложение открыто или в фоновом режиме, но когда приложение не открыто или находится в фоновом режиме (не в памяти), и нажмите, чтобыоткрытое приложение в это время onDidReceiveNotification
функция не вызывается,
Что мне нужно сделать, чтобы вызвать onDidReceiveNotification
функцию, когда приложение открыто с использованием нажатия на push-уведомление
ViewController.swift
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
NotificationCenter.default.removeObserver(self, name: .didReceiveAlert, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(ViewController.onDidReceiveNotification(_:)), name: .didReceiveAlert, object: nil)
}
@objc func onDidReceiveNotification(_ notification:Notification) {
print("Received Notification")
}
}
AppDelegate.swift
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
NotificationCenter.default.post(name: .didReceiveAlert, object: nil)
}