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];

     }

时间: 2024-12-27 22:20:40

iOS PushMebaby的相关文章

IOS PushMeBaby(是一款用来测试ANPs的开源Mac项目)

● PushMeBaby是一款用来测试ANPs的开源Mac项目 ● 它充当了服务器的作用,用法非常简单 ● 它负责将内容提交给苹果的APNs服务器,苹果的APNs服务器再将内容推送给用户 的设备 ● PushMeBaby的主页 ● https://github.com/stefanhafeneger/PushMeBaby PushMeBaby的使用步骤 1.注释掉不要的错误 ● 填写必要信息 ● deviceToken:用于找到设备的令牌 ● payload:推送的内容 将真机调试的推送证书改为

IOS推送通知测试工具PushMeBaby

下载了PushMeBaby在xcode5里中不能使用,类库变了.需要添加Carbon.framework库,在引用的地方改成: #include <Carbon/Carbon.h>,程序就可以 运行了.测试时要变成自己的证书. 下载地址:点击打开链接 IOS推送通知测试工具PushMeBaby,码迷,mamicode.com

iOS开发——小技巧:Mac开源小软件PushMeBaby,还要啥后端,测试APP推送只靠Xcode!

PushMeBaby是一个github的开源Mac小软件,地址:https://github.com/stefanhafeneger/PushMeBaby,它非常简单,编译的时候带上APP的推送证书(生产环境还是开发环境视你情况而定),然后加上想要推送到的设备的deviceToken即可,实测推送即时性极佳. 这是程序主界面: 只用轻轻一点Push,消息就推送到设备了,简直就是傻瓜级良心应用,必须为作者点32个赞! 这里谈谈程序编译过程中需要注意的,从github上拖下来之后,command+b

自己总结的 iOS ,Mac 开源项目以及库,知识点------持续更新

自己在 git  上看到一个非常好的总结的东西,但是呢, fork  了几次,就是 fork  不到我的 git 上,干脆复制进去,但是,也是认真去每一个每一个去认真看了,并且也是补充了一些,感觉非常棒,所以好东西要分享,为啥用 CN 博客,有个好处,可以随时修改,可以持续更新,不用每次都要再发表,感觉这样棒棒的 我们 自己总结的iOS.mac开源项目及库,持续更新.... github排名 https://github.com/trending,github搜索:https://github.

iOS、mac开源项目及库汇总

UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字说明.具体使用看“使用方法”. (国人写) XHRefreshControl – XHRefreshControl 是一款高扩展性.低耦合度的下拉刷新.上提加载更多的组件.(国人写) CBStoreHou

iOS开发中的远程推送实现(最新,支持iOS9)

我的个人项目<丁丁印记>中加入了远程推送功能,按照操作说明去做还是比较容易实现的,但是学的不够不系统,因此这篇文章希望总结一下最新的iOS推送功能,因为iOS8之后的推送和致之前的版本是有所不同的,也希望想能帮助到需要的朋友.这篇文章将从零开始,向大家介绍远程推送功能的原理和使用. 什么是远程推送通知 顾名思义,就是从远程服务器推送给客户端的通知(需要联网)远程推送服务,又称为APNs(Apple Push Notification Services). 为什么程序中需要远程推送功能 1.传统

最全面的iOS和Mac开源项目和第三方库汇总

UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字说明.具体使用看“使用方法”. (国人写) XHRefreshControl – XHRefreshControl 是一款高扩展性.低耦合度的下拉刷新.上提加载更多的组件.(国人写) CBStoreHou

iOS、mac开源项目及库(感谢原作者的分享)

目录 模糊效果 富文本 表相关 HUD与Toast 其他UI 其他动画 网络测试 网络聊天 Model 数据库 PDF 摄像照相视频音频处理 消息相关 消息推送服务器端 版本新API的Demo 测试及调试 完整项目 Xcode插件 开发资源 swift 中文开发博客列表 具体内容 ============================= UI 下拉刷新 MJRefresh - 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下

使用pushmebaby测试app的远程推送功能

什么是远程消息推送功能 苹果给iOS和Mac添加了消息推送的功能,使得我们可以通过后台服务器给应用程序(APP)发送消息,不管APP是否正在使用,比如邮箱的来件提示功能.这项服务被称为Apple Push Notification service(APNs).里面一共涉及到四个角色:APP.设备.APNs和应用后台服务器(Provider),其中APP.后台服务器和APNs之间使用deviceToken唯一的标识一个用户. 推送服务的工作流程: APP向系统注册推送服务. 设备从APNs请求de