当前位置: 首页 > 面试题库 >

快速读取远程通知的userInfo

卢骏俊
2023-03-14
问题内容

当我收到这样的远程通知时,我实现了一个打开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"

尝试以下方法:

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
    }
}

请参阅推送通知文档



 类似资料:
  • 测试数据 # linecache_data.py import os import tempfile lorem = '''Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus eget elit. In posuere mi non risus. Mauris id quam posuere lectus soll

  • 我现在有这个问题,我需要在应用程序在后台时处理消息推送的信息,我的意思是,甚至不点击通知。这意味着这个应用程序:(UIApplication*)应用程序didReceiveRemote teNotify:(NSDicpedia*)userInfo fetchCompletionHandler:(val(^)(UIBackground FetchResult))完成必须在后台调用Handler!这是

  • 我已经设置了PayPal快速API按钮,但似乎当我付款时,一切都成功完成了,但是,从卖方方面,我没有收到任何电子邮件告诉我我已经收到了付款等。我查看了开发人员网站上的电子邮件通知,没有任何内容被发送出去。 是我操作不正确还是快递结账没有发送电子邮件? 我的集成类似于这个https://developer . paypal . com/docs/check out/integration-featu

  • 我正在尝试用远程通知处理所有可能的情况。当调用Foreground-DidReceiverEmoteNotification中的app时我就ok了。问题是当应用程序处于后台状态时,我收到推送通知。什么都不叫。如何让用户知道他有新的远程通知当应用程序回到前台?

  • 我正在尝试使用Saxon 9将csv文件转换为xml文件。但是当我尝试检查存在并读取带有xslt函数的csv文件时,我遇到了一个问题:unparsed-text-可用(),unparsed-text() 它们可以很好地处理本地文件,但当我将远程文件作为参数传递时,unparsed-text-available()返回false。 例如,当我通过“D:\test\test.csv”时,它就工作了。当

  • 本文向大家介绍Javascript快速实现浏览器系统通知,包括了Javascript快速实现浏览器系统通知的使用技巧和注意事项,需要的朋友参考一下 JS 实现浏览器的 title 闪烁、滚动、声音提示、chrome、Firefox、Safari等系统通知。 下载 编译 isPermission 判断浏览器弹框通知是否被阻止。 iNotify.isPermission() 声音设置 player 播