zoukankan      html  css  js  c++  java
  • iOS开发_使用百度云推送实现app消息推送

    (1)百度云推送的接入请到百度云推送官网查看具体内容,这里不再赘述。

    地址:http://push.baidu.com

    (2)当app能接收到推送的消息,那么要如何展示给用户呢?

    在项目的AppDelegate.m文件中

    ①当app收到推送消息时,会自动调用

    - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler方法,在这个方法中添加如下代码:

    //创建一个消息对象,“infor_from_server”是自定义的消息名称,"userInfo"是信息的内容字典

    NSNotification * notice = [NSNotification notificationWithName:@"infor_from_server" object:nil userInfo:userInfo];

     //发送消息

    [[NSNotificationCenter defaultCenter]postNotification:notice];

    ②在需要监听通知的ViewController的.m文件中,创建观察者用于监听刚才发送的消息。

    - (void)viewDidLoad

    {

    //获取通知中心单例对象,添加一个观察者

        NSNotificationCenter * center = [NSNotificationCenter defaultCenter];

        //添加当前类对象为一个观察者,name和object设置为nil,表示接收一切通知

        [center addObserver:self selector:@selector(notice:) name:@"infor_from_server" object:nil];

    }

    //观察者的方法,可以在这个方法中,可以做弹出框把消息内容展示给用户

    -(void)notice:(id)sender

    {

        NSNotification * notice =(NSNotification*)sender;

        NSDictionary* dictInfo=notice.userInfo;

        NSDictionary* dictInfo_2=dictInfo[@"aps"];

        NSLog(@"消息内容=%@",dictInfo_2[@"alert"]);

        //打印出消息内容

    }

    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    在使用百度云推送时遇到的问题:

    (1)DeviceToken 获取失败,原因:Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的授权字符串" UserInfo=0x170269140 {NSLocalizedDescription=未找到应用程序的“aps-environment”的授权字符串}

    解决方法:

    后来发现是因为开发证书的问题,创建开发证书的时候不能选择带类似"com.baidu.*"这样带"*"的AppID,而是必须选择具体的例如"com.baidu.test".创建这样的证书并下载安装,在Xcode上运行时选择刚才安装的证书。

  • 相关阅读:
    servlet里面拿到common.property的属性
    js 播放声音文件
    dataGridViewX操作
    CYQ学习主要摘要4
    CYQ学习主要摘要3
    CYQ学习主要摘要2
    CYQ学习主要摘要
    EF操作VS中
    C# 文件与二进制互转数据库写入读出
    简单的线程与界面通用方法,不是很好,但是很方便
  • 原文地址:https://www.cnblogs.com/sugeladi/p/4889738.html
Copyright © 2011-2022 走看看