当我收到这样的远程通知时,我实现了一个打开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开发 . 我现在搜索了几个小时,但没有找到任何有用的信息 . 通知工作完美..如果我点击它,则会打开alertview . 我的问题是,我无法从userInfo中获取数据 .
4 回答
方法(swift4):
用法:
userInfo
字典的根级别项是"aps"
,而不是"alert"
.请尝试以下方法:
见Push Notification Documentation
对我来说,当我从Accengage发送消息时,以下代码有效 -
与Craing Stanford的答案唯一不同的是
key
我曾经从alert
实例中提取消息,这是body
,这是不同的 . 请参阅下文以获得更多清晰度 -VS