2016-10-04 23 views
0

プッシュ通知用にSwift 2.2からSwift 3.0へのソースコードを更新しました。しかし、私はuserinfoを得ることができません。それはnilを返します。 誰も助けることができますか?通知センターのプッシュ通知は、userinfoでnilを返す - Swift3

override func viewDidLoad() { 
     super.viewDidLoad() 
     self.delegate = self 

     NotificationCenter.default.addObserver(self, selector: #selector(MenuViewController.remoteNotificationReceived(_:)), name: NSNotification.Name(rawValue: "PushNotificationMessageReceivedNotification"), object: nil) 

    } 

func remoteNotificationReceived(_ notification: Notification) 
    { 
     print("Notification:\(notification.userinfo)"); 
} 
+0

これを一度参照http://stackoverflow.com/q 39382852/didreceiveremotenotification-not-called-ios-10/39383027#39383027 –

+0

ユーザー情報を送信する場合は、NotificationCenter.default.post(name:notificationName、object:nil)にはnilユーザー情報を送信しています – AleyRobotics

+0

このようなNotificationCenter.default.post(名前:通知名、オブジェクト:SOME_USER_INFO_OBJ) – AleyRobotics

答えて

1

パスのUserInfoポスト通知 :私はプッシュ通知を受信し、何らかのアクションをしたい他のViewControllerで

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]) { 

     // Define identifier 
     let notificationName = Notification.Name("PushNotificationMessageReceivedNotification") 

     // Register to receive notification 
     NotificationCenter.default.addObserver(self, selector: #selector(MenuViewController.remoteNotificationReceived), name: notificationName, object: userInfo) 

     // Post notification 
     NotificationCenter.default.post(name: notificationName, object: nil) 
    } 

:ここではアプリのデリゲートで

は、プッシュ通知を受信しますこのように: -

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]) { 

     // Define identifier 
     let notificationName = Notification.Name("PushNotificationMessageReceivedNotification") 

     // Register to receive notification 
     NotificationCenter.default.addObserver(self, selector: #selector(MenuViewController.remoteNotificationReceived), name: notificationName, object: userInfo) 

     // Post notification 
     NotificationCenter.default.post(name: notificationName, object: nil, userInfo :userInfo) 
    } 
関連する問題