Swift 3.0: Referencia ambigua al problema del miembro 'Subíndice' en notifications push

Este es el código siguiente pero obtengo el siguiente error en swift3

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) { notificationReceived(notification: userInfo as [NSObject : AnyObject]) } func notificationReceived(notification: [NSObject:AnyObject]) { let viewController = window?.rootViewController let view = viewController as? ViewController view?.addNotification( title: getAlert(notification: notification).0, body: getAlert(notification: notification).1) } private func getAlert(notification: [NSObject:AnyObject]) -> (String, String) { let aps = notification["aps"] as? NSDictionary let alert = aps?["alert"] as? [String:AnyObject] let title = alert?["title"] as? String let body = alert?["body"] as? String return (title ?? "-", body ?? "-") } 

Pero obtengo el siguiente error " Swift 3.0: reference ambigua al miembro 'Subscript' issue " en " let aps = notification [" aps "] como? NSDictionary "

tipo converson

introduzca la descripción de la imagen aquí

Cambia userInfo de NSDictionary a [String: Any]. e intente una vez

 let aps = notification["aps"] as? [String : Any] 

o escribe como me gusta

 let aps = notification["aps" as NSString] as? [String:Any] 

String no se puede convertir en NSObject , simplemente cambie el nombre de todo su [NSObject:AnyObject] a [String:Any] con Swift 3