用 Houston 在本地调试远程通知

原创 2015年05月03日 02:04:07

Houston 的背景

Houston 在 GitHub 上的地址:https://github.com/nomad/Houston,作者又是Mattt Thompson,简直是惨无人道啊,又高产,又有质量这里写图片描述

Houston 能让我们在本地、甚至终端很方便的调试远程通知。


安装

首先在终端安装:

$ gem install houston

我第一次安装的时候报了错,但是第二次就安装成功了:

...
Installing ri documentation for houston-2.2.3
1 gem installed

安装成功后执行gem list命令可以看到 houston 和它的版本号:
这里写图片描述

然后也能执行apn命令了:

$ apn
error: undefined method `size' for nil:NilClass. Use --trace to view backtrace

准备证书

在正式的使用之前需要先准备好pem证书文件:

  1. Keychain Access里选择你的Push Services证书和通过它左侧的小箭头展开的私钥文件
  2. 选择这两个文件后,右键选择Export 2 items...
  3. 选择p12格式并将导出的文件命名为cert.p12
  4. 最后将这个p12文件转成pem文件
$ openssl pkcs12 -in cert.p12 -out apple_push_notification.pem -nodes -clcerts

如果你的 Keychain Access 里没有 Push Services 证书的话,你可能需要下载或创建一个:
1. 登录到 iPhone Developer Connection Portal(http://developer.apple.com/iphone/manage/overview/index.action )并点击 App IDs
2. 创建一个不使用通配符的 App ID ,这是因为通配符 ID 不能用于推送通知服务
3. 点击 App ID 旁的“Configure”,然后按下按钮生产 推送通知许可证。根据“向导” 的步骤生成一个签名并上传,最后下载生成的许可证
4. 通过双击 .cer 文件将你的 aps_developer_identity.cer 添加到 Keychain Access中
5. 添加后Push Services证书后就开始pem文件,步骤同上

然后就能在终端测试远程通知了。


发送远程通知

需要在apn命令里指定DeviceTokenpem证书路径。

普通文本

比如测试一下普通的文本通知:

$ apn push "<d10c67b0 079cfdc0 27b5dd81 2fd537ce 16831f40 ca55fa34 8b14ffde 626435f6>" -c ~/Desktop/apple_push_notification.pem -m "Hello"

成功后的终端提示:

1 push notification sent successfully

自定义参数

带参数的远程通知:

$ apn push "<d10c67b0 079cfdc0 27b5dd81 2fd537ce 16831f40 ca55fa34 8b14ffde 626435f6>" -c ~/Desktop/apple_push_notification.pem  -m "Hello" -d content-id=42

自定义多个参数

多个参数之间用逗号分隔:

$ apn push "<d10c67b0 079cfdc0 27b5dd81 2fd537ce 16831f40 ca55fa34 8b14ffde 626435f6>" -c ~/Desktop/apple_push_notification.pem  -m "Hello" -d content-id=42,icon=image.png

静默通知

$ apn push "<d10c67b0 079cfdc0 27b5dd81 2fd537ce 16831f40 ca55fa34 8b14ffde 626435f6>" -c ~/Desktop/apple_push_notification.pem  -s "" -n

静默通知要把 sound 设为空字符串,并且要启用content_available

终端可用选项

  • ‘-m’, ‘–alert ALERT’, ‘Body of the alert to send in the push notification’
  • ‘-b’, ‘–badge NUMBER’, ‘Badge number to set with the push notification’
  • ‘-s’, ‘–sound SOUND’, ‘Sound to play with the notification’
  • ‘-y’, ‘–category CATEGORY’, ‘Category of notification’
  • ‘-n’, ‘–[no]-newsstand’, ‘Indicates content available for Newsstand’
  • ‘-d’, ‘–data KEY=VALUE’, Array, ‘Passes custom data to payload (as comma-delimited “key=value” declarations)’
  • ‘-P’, ‘–payload PAYLOAD’, ‘JSON payload for notifications’
  • ‘-e’, ‘–environment ENV’, [:production, :development], ‘Environment to send push notification (production or development (default))’
  • ‘-c’, ‘–certificate CERTIFICATE’, ‘Path to certificate (.pem) file’
  • ‘-p’, ‘–[no]-passphrase’, ‘Prompt for a certificate passphrase’
版权声明:如需转载,请注明出处,谢谢! https://blog.csdn.net/zhangao0086/article/details/45448785

全球的iOS开发大V门的博客

1. Apple Swift Blog 所有iOS开发者的必读博客,可以看到最新的官方新闻,还有Swift编程语言的创造者Chris Lattner所传授的技巧。这个博客唯一的缺点就是更新太慢,...
  • super_man_ww
  • super_man_ww
  • 2016-09-05 17:20:21
  • 809

用 Houston 在本地调试远程通知

Houston 的背景Houston 在 GitHub 上的地址:https://github.com/nomad/Houston,作者又是Mattt Thompson,简直是惨无人道啊,又高产,又有...
  • zhangao0086
  • zhangao0086
  • 2015-05-03 02:04:07
  • 3536

iOS GCD使用指南

Grand Central Dispatch(GCD)是异步执行任务的技术之一。一般将应用程序中记述的线程管理用的代码在系统级中实现。开发者只需要定义想执行的任务并追加到适当的Dispatch Que...
  • zhangao0086
  • zhangao0086
  • 2014-08-29 15:09:33
  • 40323

iOS开发-本地通知与远程通知

App开发中经常会使用到推送,苹果和安卓区别是苹果用自己的APNS推送服务器,不论我们是集成第三方推送  还是用苹果系统的推送都要经过APNS推送服务器。 目前市场上比较流行的几个第三方推送: ...
  • u012701023
  • u012701023
  • 2016-12-05 16:21:21
  • 2524

本地和推送通知

  • 2015年04月15日 19:40
  • 567KB
  • 下载

iOS下的后台任务实现方法

后台任务 场景一 地图后台定位   场景二 后台播放音乐 场景三  后台 更新推送内容  场景四  vo...
  • FocusOnLovingFreedom
  • FocusOnLovingFreedom
  • 2015-11-17 15:48:54
  • 417

(转)本地通知和远程推送

原博地址:http://blog.csdn.net/vbirdbest/article/details/52813539 ——本地推送通知 推送通知的作用? 在App退到...
  • wxdtan
  • wxdtan
  • 2017-01-06 16:14:09
  • 867

iOS9中如何注册远程通知

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 在以往的版本中,我们可以通过:[[UIApplicati...
  • mydo
  • mydo
  • 2016-03-12 15:17:07
  • 2115

iOS开发者必看的全球100个最佳博客

如果你正在寻找见解深刻,并富有教育意义的iOS开发博客,那就找对地方了。下面列出了质量最好且最为活跃的105个线上博客。如你所知,互联网上高质量的iOS博客并不缺乏,但我决定再过滤一下,去芜存菁,找出...
  • BaiHuaXiu123
  • BaiHuaXiu123
  • 2016-05-07 22:45:30
  • 3270
收藏助手
不良信息举报
您举报文章:用 Houston 在本地调试远程通知
举报原因:
原因补充:

(最多只允许输入30个字)