Je travaille avec des notifications locales et j'essaye de présenter un viewController
spécifique mais j'ai essayé ce que j'ai trouvé dans ce forum et j'ai eu un comportement inhabituel avec la vue montrée dans this picture here: Et voici le code source de AppDelegate.swift:Présente un contrôleur de vue spécifique de l'action de notification
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping() -> Void) {
print("didReceive Method called")
if response.actionIdentifier == "actionOne" {
DispatchQueue.main.async(execute: {
self.notificationAction1()
})
} else if response.actionIdentifier == "actionTwo" {
DispatchQueue.main.async(execute: {
self.notificationAction2()
})
} else if response.actionIdentifier == "actionThree" {
}
completionHandler()
}
func notificationAction1() {
redirectToVC()
}
func redirectToVC() {
let toVC = VersesViewController()
if self.window != nil && self.window?.rootViewController != nil {
let rootVC = self.window?.rootViewController!
if rootVC is UINavigationController {
(rootVC as! UINavigationController).pushViewController(toVC, animated: true)
} else {
rootVC?.present(toVC, animated: true, completion: {
//Do something
})
}
}
}
Quel est le problème avec le code (en particulier la méthode redirectToVC()
)? Toute aide sera appréciée.
Cela fonctionne actuellement? – Mannopson
Regardez l'image au-dessus du code source, le contrôleur de vue est vide ce qu'il n'est pas censé être. –