具体实现
一、获取推送服务认证书
该认证书 是用于服务器与APNS服务器SSL 连接时的认证,而获取p12的前提是获取APNS Assistant。
1. 在apple开发中心生成 App ID(如PushDemo),注意:Bundle Indentifier值格式必须为反向域名格式,如com.bluestar.PushDemo;
2. 单击App ID 的后面的 Configure;
3. 在新的页面中,勾选Enable Push Notification Services , 而后点击Configure ,随后出现APNs Assistant,APNs助手会引导生成你的程序与APNs服务器进行SSL连接的认证书App ID specific Client SSL certificate[注释:一般文件名为“aps_developer_identity.cer” 可修改]
4. APNs助手会引导你保存SSL certificate到你的硬盘,保存好后双击,安装到你的keychain;
5. 执行完以上四步,可以点击Done,关闭APNs助手;
6. 启动Keychain Access程序,查看刚才安装的认证,name 为apple Development/Production push Services。。。
导出--即获得Certificates.p12 保存好给Provider 服务器使用;
二、IOS应用程序开启推送服务
1. iPhone provisioning 以开启了PUSH功能App ID (如前述PushDemo)生成相应的provisioning,并下载;
2. 以前述App ID(PushDemo),创建应用程序,并指定Bundle Indentifier为注册时使用的Bundle Indentifier (本例为com.bluestar.PushDemo);
3. iPhone需要用到的方法函数如下:

//注册启用 push
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge /*|UIRemoteNotificationTypeSound*/)];

//用该判断 程序是不是通过push消息启动的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

//iPhone 从APNs服务器获取deviceToken后激活该方法
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

//注册push功能失败 后 返回错误信息,执行相应的处理
- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err
附录:使用OpenSSL转换证书格式
1. 将aps_developer_identity.cer转换成 aps_developer_identity.pem格式。
openssl x509 -in aps_developer_identity.cer -inform DER -out aps_developer_identity.pem -outform PEM
2. 将Certificates.p12格式的私钥转换成pem,需要设置4次密码,密码都设置为:abc123。
openssl pkcs12 -nocerts -out aps_developer_key.pem -in Certificates.p12
3. 用certificate和the key 创建PKCS#12格式的文件。
openssl pkcs12 -export -in aps_developer_identity.pem -inkey aps_developer_key.pem -certfile PushTest.certSigningRequest -name "aps_developer_identity" -out aps_developer_identity.p12

iOS消息推送整体流程相关推荐

  1. 细说 iOS 消息推送

    APNS的推送机制 与Android上我们自己实现的推送服务不一样,Apple对设备的控制很严格.消息推送的流程必需要经过APNs: 这里 Provider 是指某个应用的Developer,当然假设 ...

  2. IOS消息推送之APNS

    一.背景概述: 1,环境配置 APNS:Apple Push Notification Service.本文对推送相关概念不再赘述,只侧重完整流程. Demo 开发环境:Mac os 10.9.4   ...

  3. 客户端技术:一文带你了解iOS消息推送机制

    导语 | 消息推送我们几乎每天都会用到,但你知道 iOS 中的消息推送是如何实现的吗?本文将从推送权限申请,到本地和远程消息推送,再到 App 对推送消息的处理等多个步骤,详细介绍 iOS 中消息推送 ...

  4. iOS消息推送机制的实现

    iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务 ...

  5. ios消息推送机制原理与实现(转)

    今天给无线事业部的同事开发苹果客户端的推送接口.无线事业部就是我们公司专门开发各种终端的app的部门啦! 无线事业部的同事做事还是很体贴的,同时发给了我参考文档地址和需要的开发需要的pl2文件. 提供 ...

  6. php推送手机,PHP_解析php做推送服务端实现ios消息推送,准备工作1.获取手机注册应用 - phpStudy...

    解析php做推送服务端实现ios消息推送 准备工作1.获取手机注册应用的deviceToken(iphone手机注册应用时返回唯一值deviceToken) 2.获取ck.pem文件(做手机端的给) ...

  7. # MASA MAUI Plugin (十)iOS消息推送(原生APNS方式)

    MASA MAUI Plugin (十)iOS消息推送(原生APNS方式) 背景 MAUI的出现,赋予了广大Net开发者开发多平台应用的能力,MAUI 是Xamarin.Forms演变而来,但是相比X ...

  8. 微信小程序使用微信公众号的模板消息进行消息推送开发流程

    微信小程序使用微信公众号的模板消息进行消息推送开发流程 微信公众号服务号,微信公众号订阅号,微信公众号开发者平台,微信小程序 这些的账号都是独立的不能共用 微信开放平台开发者资质认证审核费用为300元 ...

  9. iOS消息推送(Java实现)

    首先来了解一下苹果的消息推送APNS(英文全称:Apple Push Notification service) 先来看两张苹果对于推送的两张解释图: 大概的意思就是,提供商把消息推送至苹果的推送服务 ...

最新文章

  1. 使用PXE+NFS EFI引导安装RHEL6/7以及Kickstart安装
  2. Qt绘图事件:QPainter、QPaintEngine和QPaintDevice
  3. webclientt和httpwebrequest
  4. CodeForces - 208E Blood Cousins(树上倍增+二分/树上启发式合并)
  5. Scala教程之:静态类型
  6. android中私有方法 继承,Android项目实战系列—基于博学谷(五)个人资料
  7. java 文件缓冲区_Java开发笔记(八十六)通过缓冲区读写文件
  8. 几台WEB经常宕机,求分析原因
  9. 贪心算法——找纸币问题
  10. 大数据应用项目创新大赛_经济管理学院大数据应用创新大赛顺利举行
  11. 目标检测——YOLOv5的学习笔记
  12. CISCO路由器DHCP 配置
  13. android纯净版输入法,百度输入法纯净版
  14. 天正自定义填充图案怎么添加_自定义AutoCAD填充图案教程 - CAD自学网
  15. SPSS如何进行一致性检验(计算kappa值)
  16. 2019CSUST集训队选拔赛题解(二)
  17. 作业5 - 团队展示
  18. 【开关电源一】电源拓扑之buck、boost、buck-boost
  19. Allegro建立机械符号
  20. EasyNVS摄像机公网全终端无插件网页摄像机直播管理服务之网页无插件直播服务搭建流程

热门文章

  1. css 商城 两列_CSS 居中?来一探究竟
  2. 20220207-CTF-MISC-第11题--- base64隐写--附带脚本
  3. 安装JDK-- Java基础
  4. 百度之星2019 初赛一 题解
  5. Andrew Ng's Deep Learning学习记录
  6. Spork: Pig on Spark实现分析
  7. springmvc和servlet在上传和下载文件(保持文件夹和存储数据库Blob两种方式)
  8. VS 2010 开发 ActiveX 开始篇
  9. .NET 中的正则表达式
  10. appsetting 和connectionString 的区别。