Swift read userInfo of remote notification
ios, json, push-notification, swift, userinfo
Solution
The root level item of the `userInfo` dictionary is `"aps"`, not `"alert"`.
Try the following:
if let aps = userInfo["aps"] as? NSDictionary {
if let alert = aps["alert"] as? NSDictionary {
if let message = alert["message"] as? NSString {
//Do stuff
}
} else if let alert = aps["alert"] as? NSString {
//Do stuff
}
}
See Push Notification Documentation
Problem
I implemented a function to open an AlertView when I receive a remote notification like this: ``` func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]){ var notifiAlert = UIAlertView() var NotificationMessage : AnyObject? = userInfo["alert"] notifiAlert.title = "TITLE" notifiAlert.message = NotificationMessage as? String notifiAlert.addButtonWithTitle("OK") notifiAlert.show() } ``` But NotificationMessage is always nil. My json payload looks like this: ``` {"aps":{"alert":"Testmessage","badge":"1"}} ``` I am using Xcode 6, Swift and I am developing for iOS8. I searched hours now, but didn't find any useful information. The Notifications works perfectly.. and if I click it, the alertview opens. My problem is, that I am not able to get the data out of userInfo.