zoukankan      html  css  js  c++  java
  • iOS PushMebaby

    PushMebaby是测试远程推送是否可用的第三方框架

    使用方法:

    1.上github下载PushMebaby的源码

    2.在本地尝试编译PushMebaby,可能会有Error

    解决方法:把抛Error对应的代码 注释掉

    //#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>

    3.在ApplicationDelegate.m填写deviceToken和certificate

      3.1 self.deviceToken = @"XXXXXXXXXXXXXXXXXXXXXXXXXXX";

      3.2把远程推送的开发证书,拖入项目,改名为apns.cer

    4.运行PushMebaby

      4.1勾选"总是允许"

      

      4.2 PushMebaby是mac,在下图弹出框中点击send

      

    5.补充Payload知识

    payload的格式,可在苹果官方文档搜"Examples of JSON Payloads",有多种格式,下面是其中一种

    {
        "aps" : {
            "alert" : {
                "body" : "Bob wants to play poker",
                "action-loc-key" : "PLAY"
            },
            "badge" : 5,
        },
        "diyInfo" : {
              "xxx" : "xxxx",
              "xxxx" : "xxxxxx",
        }
    }

    注:aps是不可以改的

    要使远程推送的消息,附带额外的信息,可以在aps外面添加,例如上面的diyInfo

    6.客户端接收到远程推送通知之后的解析工作

      6.1 aps里的信息,苹果自己会解析

      6.2 aps之外的信息,需要iOS开发自己解析

        6.2.1 场景一:在用户手机里,应用处于运行状态(双击home键,可以看到进程管理中看到)

        接收到远程推送消息,程序会自动调用AppDelegate.m里下面这个代理方法

        - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

        {

              // 参数userInfo就是上面提到的diyInfo

              NSLog(@"%@",userInfo);

        }

         

        6.2.2 场景二:在用户手机里,没有运行我们的应用

        接收到远程推送消息,程序会自动调用下面的方法

        - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

        {

              // info是payload的全部信息

              NSDictionary *info = launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey];

          }

     

  • 相关阅读:
    VS2010 error LNK2019: 无法解析的外部符号
    strspn()函数的使用方法
    直接插入排序
    opecv 常用的函数
    matlab中 fprintf 和disp的用法
    面试经历
    挚爱 泰戈尔
    见与不见
    无题
    Cannot create PoolableConnectionFactory (Could not create connection to database server.
  • 原文地址:https://www.cnblogs.com/oumygade/p/4232877.html
Copyright © 2011-2022 走看看