2016-09-20 4 views
1

Ich habe richtig in Swift 2.2 funktioniert, aber wenn ich zu Swift 3.0 umwandelte, dann erhalten Fehler.UIApplicationLaunch von remoteNotification swift 3 funktioniert nicht

//If app open by notification 
if launchOptions != nil 
{ 
    NSLog("launch------ %@", launchOptions!) 

    let userInfo = launchOptions!(UIApplicationLaunchOptionsKey.remoteNotification) as NSDictionary 
    if userInfo != nil 
    { 
     self.application(UIApplication.shared, didReceiveRemoteNotification: (userInfo)! as! [NSObject : AnyObject]) 
    } 
} 

Fehler wie

Wert kann nicht von Nicht-Funktionstyp nennen '[NSObject: Alles]'

Vielen Dank im Voraus.

Antwort

1

Schließlich fixierte i: -

if launchOptions != nil 
{ 
    NSLog("launch------ %@", launchOptions!) 
    let userInfo = launchOptions![UIApplicationLaunchOptionsKey.remoteNotification] as! NSDictionary 
    if userInfo != nil 
    { 
     self.application(UIApplication.shared, didReceiveRemoteNotification:(userInfo) as! [AnyHashable : Any] as! [String : AnyObject]) 
    } 
} 
+0

ich einen Fehler mache, wenn ich diese verwenden , welche Xcode Version verwendest du? Ich benutze 8 Beta 3 und scheint einen Fehler zu geben: Undeutlicher Verweis auf Mitglied 'tiefgestellt' – TheeBen

+0

Können Sie mir bitte Code hier zeigen. –

1

Meine Lösung für Swift 3. Ich habe einigen Guss verwenden, um den Wert zu erhalten:

let key : AnyObject = UIApplicationLaunchOptionsKey.remoteNotification as AnyObject 
    if let remoteNotification = launchOptions![key as! NSObject] as? [NSObject : AnyObject]{ 
     self.application(application: application, didReceiveRemoteNotification: remoteNotification) 
    } 
Verwandte Themen