当我收到这样的远程通知时,我实现了一个打开AlertView的功能:
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() }
但是NotificationMessage始终为零。
我的json负载看起来像这样:
{"aps":{"alert":"Testmessage","badge":"1"}}
我正在使用Xcode 6,Swift,并且正在为iOS8开发。我现在搜索了几个小时,但没有找到任何有用的信息。通知工作正常..如果我单击它,则将打开警报视图。我的问题是,我无法从userInfo中获取数据。
userInfo字典的根目录项"aps"不是"alert"。
userInfo
"aps"
"alert"
尝试以下方法:
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 } }
请参阅推送通知文档