2016-09-20 5 views
1

私はswift 2.2で正しく動作していますが、swift 3.0に変換するとエラーになります。事前にUIApplicationLaunch by remoteNotification swift 3が動作しない

ありがとう:

//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]) 
    } 
} 

エラー

よう

は非関数型の値 '[どれNSObjectの]' を呼び出すことはできません。

答えて

1

は最終的に私は固定: - スウィフト3.

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

私はこれを使用するときにエラーが出るん、どのXcodeバージョンを使用していますか?私は8ベータ3を使用しているとエラーを与えるようです:メンバーの下付き文字へのあいまいな参照 – TheeBen

+0

ここにコードを表示してください。 –

1

私のソリューションを、私は値を取得するために、いくつかのキャストを使用する必要があります。

let key : AnyObject = UIApplicationLaunchOptionsKey.remoteNotification as AnyObject 
    if let remoteNotification = launchOptions![key as! NSObject] as? [NSObject : AnyObject]{ 
     self.application(application: application, didReceiveRemoteNotification: remoteNotification) 
    } 
関連する問題