iOS推送集成和配置APNS推送证书方法图解

App中推送功能越来越普及,但是对于不经常做推送的人来说配置证书真的是非常痛苦的事。本文将以集成个推为例,详细讲解配置APNS证书的过程。

集成推送总体分为以下步骤(本文只讲1,2两个步骤)

  1. 创建APP应用,并且配置APNS证书
  2. 在个推平台创建应用
  3. 在项目中集成个推SDK
  4. 调试,实现推送

1.创建APP应用,并且配置APNS证书

登录到苹果开发者账号ps://developer.apple.com/account/overview.action">https://developer.apple.com/account/overview.action

点击Identifiers,创建AppId,如果已有AppID,跳过此步骤
注意!!!如果已有AppID,一定要选择和项目一致的ID才能配置证书,每个证书只能对应bundleID相同的项目

刚开始的时候Push Notifications是Disabled

点击Edit后,勾选Push Notifications,根据相应的环境选择不同的按钮来上传Certificate。

友情提示一下,如果你们的项目是第一次集成推送,即使你们之前的版本上线了,但是上线的版本没有集成推送的话,就直接点击开发环境的按钮,不用妄想点击生产环境的那个按钮了。

 

之后是这样的界面,直接continue

之后就是要准备提交本地CSR证书了

 

1.1如何生成本地CSR证书

这里要仔细讲一下如何生成本地CSR证书,开始不会弄的时候真的浪费了很长时间
首先打开LaunchPad

点击其他

 

点击钥匙串访问

 

点击屏幕左上角的”钥匙串访问”->”证书助理”->”从证书颁发机构请求证书”

填写电子邮箱的地址,并且选中“存储到磁盘”的那个选项

 

保存到需要的位置

 

到这里,我们的CSR就生成成功了!回到我们刚才的步骤,把CSR上传到开发者账号中

点击Genrate

点击下载后找到我们刚才下载的.cer文件,直接双击

输入密码,就是你自己电脑的密码

 

之后我们在”钥匙串访问”->”我的证书”里面就能看到我们刚才双击的证书和专用密钥(如果证书太多,不好找的话在右上角搜索关键字即可快速找到需要的证书,如果分不清名字,直接根据后面的过期时间就能大致判断出哪个证书时刚刚才安装的)

 

右击我们的证书,选择“导出”

选择我们需要保存的地方,要注意下面的文件格式选择“.p12”格式的

同样输入电脑密码

 

现在我们给我们的.p12证书设置密码,一定要记住我们设置的密码,后面的推送平台会需要我们设置的密码的

 

然后选择允许

 

这样我们的p12证书就生成成功了!第一步完成!这个p12证书要记住放在哪里了,待会要用到。

2.在个推平台创建应用

首先我们在个推平台上注册账号,然后登录进去,选择登记应用

在这个页面所有打星号的都是必填的,根据下面图片文字的提示,填写信息,密码,并且上传我们刚才生成的.p12证书

登记成后后选择“创建推送”

点击应用配置,就能看到项目中需要的参数,后面集成好了项目后要用到


最后一个友情提示,在项目上线以后,按照本文的方法同样生成一个“生产证书”,直接在下图为之替换生产证书即可,然后下面的“开发环境”会自动改为“生产环境”,之后所有从AppStore下载安装的App就能收到通知了。这样做的好处就是无需新建应用,无需修改代码参数。

本文就先说这么多,总之在做推送的过程中最大的问题就是配置证书,然后还有一个常遇到的问题就是项目无法注册获取DeviceToken,这一般还是和配置证书有关。或者是项目的BundleID和生成证书的ID不符造成的。在推送中有疑问的可以在下面给我留言,有时间的一定回

时间: 2024-10-25 03:10:50

iOS推送集成和配置APNS推送证书方法图解的相关文章

如何在自己的电脑上配置APNS推送环境_IOS

本文只是记录一下如何在自己的电脑上配置APNS推送环境,其它的如推送的原理,流程什么的这里就不写了. 一. 去Apple 开发者中心,创建App ID.注意App ID不能使用通配符.并注意添加Push Notification Service      对于已经创建的APP ID,也可以编辑给他添加Push Notification Service 二. 创建development 和 production的Certificates及Profiles. 步骤略. 注意 1. 创建Profile

ios 使用个推 接受不到远程APNS推送

问题描述 ios 使用个推 接受不到远程APNS推送 // 启动个推 [self startSdkWith:kAppId appKey:kAppKey appSecret:kAppSecret]; 这是在didFinishLaunchingWithOptions中执行的 如果有这句的话 程序未杀死 在后台 通知栏是没有显示远程通知的 如果 [self startSdkWith:kAppId appKey:kAppKey appSecret:kAppSecret];这句被注释 就可以显示 有知道原

Windows Azure移动服务增加APNS推送通知的新支持

几周前,我发表了一篇有关Windows http://www.aliyun.com/zixun/aggregation/13357.html">Azure 移动服务的若干改进的博文.其中之一就是增加一个Objective-C客户端 SDK来允许 iOS 开发人员方便地使用移动服务处理数据和身份验证.今天我很兴奋地宣布几项对我们的 iOS SDK 的改进,最重要的还是我们通过APNS(苹果推送通知服务)推送通知的新支持.这使得它非常简单地从 Windows Azure 移动服务的脚本中推送通

环信会对离线消息做APNS推送吗

问题描述 A给B发消息,B处于离线状态.消息会存在环信服务器,B上线后会收到.我的问题是环信会给B发送APNS推送吗? 解决方案 离线消息Android B上线了收到,iOS上传证书配置正确 会走apns远程推送.制作推送证书 参考下视频: http://v.youku.com/v_show/id_X ... .html

objective-c-ios 程序杀死后 收到APNs推送 点击通知栏进入应用并无跳转 的奇怪现象

问题描述 ios 程序杀死后 收到APNs推送 点击通知栏进入应用并无跳转 的奇怪现象 // 1.注册UserNotification,以获取推送通知的权限 // 2.注册远程推送 // 以上两步全没问题 if (launchOptions[UIApplicationLaunchOptionsLocalNotificationKey]) { // 当被杀死状态收到本地通知时执行的跳转代码 UILocalNotification *notification = [launchOptions obj

ios-使用Unity 3D在IOS及安卓平台上实现消息推送

问题描述 使用Unity 3D在IOS及安卓平台上实现消息推送 要求如标题,使用Unity 3D在不打开应用程序的情况下,可以实现消息推送. 请告知实现逻辑和关键的代码,如果有调用API接口,请描述API接口的名称及调用参数. PS.不是程序员,代人提问,描述不清楚的地方请提出勿喷,我会询问后补充. PSS.公司急求,解决问题实现功能的可以提供赏金.可以网上搜索悬赏任务(详细就不说了省的被删),也可以通过站内消息沟通联系.

周一到周五重复推送-iOS本地推送设置周一到周五推周末不推怎么实现呢

问题描述 iOS本地推送设置周一到周五推周末不推怎么实现呢 iOS本地推送设置周一到周五推周末不推怎么实现呢,用到的是本地推送不是服务端的推送 解决方案 http://outofmemory.cn/code-snippet/2881/ios-bendi-tuisong-method 解决方案二: 获取下今天是星期几,代码: NSCalendar *calendar = [NSCalendar currentCalendar]; NSInteger unitFlags = NSWeekCalend

环信的apns推送能否增加content-available:1字段,用于解决角标异常的bug!

问题描述 环信的apns推送能否增加content-available:1字段?现在有个比较严重的bug,就是环信服务器会统计未读透传消息的数量,直接导致推送消息的角标出错,如果能支持后台iOS7唤醒,则客户端可以自行矫正这个bug! 解决方案 之前提的视频重复缓存的bug,2.2.3版本已经修正,值得表扬一下.这个问题也请尽快解决!谢谢合作:)

Android推送服务:百度云推送

一.推送服务简介 消息推送,顾名思义,是由一方主动发起,而另一方与发起方以某一种方式建立连接并接收消息.在Android开发中,这里的发起方我们把它叫做推送服务器(Push Server),接收方叫做客户端(Client).相比通过轮询来获取新消息或通知,推送无论是在对客户端的资源消耗还是设备耗电量来说都比轮询要好,所以,目前绝大多数需要及时消息推送的App都采用Push的方式来进行消息通知. Android生态系统原本提供了类似于Apple iOS推送服务APNS的GCM(Google Clo