iOS 消息推送(APNs) 傻瓜式教程
也可以去我的简书页面查看这篇文章
首先:
1.做iOS消息推送需要真机测试
2.做iOS消息推送需要有付费的开发者账号
是否继续看帖?
先学习一下相关的知识吧!
因为中途可能会遇到一些问题,这篇文章或许能够帮助你解决它们。
一、注册登录极光推送
消息推送采用极光推送 https://www.jpush.cn/
去极光推送注册并登录,然后创建应用
 
名字随意,但之后的文件尽量都包含这个项目名,证书先不管,项目名写好后就直接创建
Appkey 之后会用到,记住!!!
 
二、获取证书、Xcode配置文件、添加真机测试设备
然后进入苹果开发者中心 https://developer.apple.com
点击member center,
然后点击如图选项:
 
现在你会看到:
 
选择iOS Apps中的certificates,看到:
 
主要操作就是完成划线的这四部分以及Xcode的配置。
配置完第一个选项可以获得证书,然后会用于钥匙串访问。然后会导出一个p12文件,之后会在极光推送网站里上传它。
配置完第二个选项才可开发具有消息推送功能的APP。
配置完第三个,可以在指定的ios设备上进行真机测试。
配置完第四个,可以获得Xcode需要的配置文件。
现在按照顺序操作,没有讲述的就不用去配置:
1.点击Identifiers的App IDs,新建
 
 
 
这里的格式是反域名的格式。这个名称之后会用于配置XCODE。
 
Continue.
 
Submit. Done.
 
2.点击Devices的All,然后新建+,
 
名字任意,UDID 的获取方式 http://www.pgyer.com/doc/view/udid,然后continue。关于添加设备,网上的资料很多,可自行搜索。不再赘述。
3.点击Provisioning Profiles的All,然后新建+,
 
continue.
 
选择你的新项目之后,continue.
 
选择后,continue.
 
选择后,continue.
 
任意输入一个名字后,continue,download。
这个.mobileprovision文件在最后要用,记住!!!
建议这些临时download的都放在桌面,便于操作,之后一并删除。
4.点击Certificates的All,然后新建
 
然后选择:
 
选择如图所示。Production部分不管。Development是只用于测试的APP,而Production用于要上架到app store的APP。
 
一路continue到如图:
 
打开 钥匙串访问-证书助理-从证书... ,然后名称自己输入。
选择存储到磁盘。
然后不关闭钥匙串访问,继续之前的步骤,上传这个文件,generate,download,获得一个.cer,双击打开,在钥匙串访问中找到它的产物。
 
 
然后右键它(一个.p12文件),导出,密码任意但是要记住,之后要用。
然后回到极光推送,设置之前没有设置的证书部分。
 
上传.p12证书,输入刚刚的那个密码。然后保存修改。
三、配置Xcode、进行真机测试
去极光推送的首页下载ios的SDK,下载完解压,目录里有demo。 点击直达
打开demo,导入之前的那个.mobileprovision文件 ,然后点击项目的根目录。
找到如图位置,输入那个反域名名称。 如果找不到,是画圈部分没有选Targets。
 
配置profile,在箭头所指的部分对应的选项里选择自己定义的名字即可
 
在项目的supporting files目录下找到pushconfig.plist,设置app_key 为那个App key。
 
输入极光的那个appkey就可以了,然后连接真机,如ipad。
 
选择真机后,运行项目。
四、推送消息
回到极光推送网站,找到如图所示的地方:
 
然后就可以在推送内容里输入内容,点击右下角的发送,向ipad推送消息了,建议将运行的app后台运行,然后测试的消息就会在顶部弹出。
 
还可以设置通知的声音。
然后badge的+1是为了实现这样的功能:如果这个推送,用户没有查看,你再发一条,它就会加1,成为两条未读的推送。如果用默认的没有+的那种方式,你再推送时,用户没有查看的推送就只有一条不会是两条。
下面的附加字段可以用来实现:在代码中对附加的字段进行解析,然后执行相应的操作。如附加 键1,值为一个链接。这时就可以让ios弹出通知然后附加这个链接,让用户可以选择浏览这个网站。
五、测试结果
输入以下内容:
 
Xcode控制台收到了对应的数据:
 
熟练之后,分分钟搞定iOS消息推送!
iOS 消息推送(APNs) 傻瓜式教程的更多相关文章
- Ios 消息推送
		手把手教你做iOS推送 http://www.cocoachina.com/industry/20130321/5862.html http://www.cnblogs.com/cdts_change ... 
- (转)iOS消息推送机制的实现
		原:http://www.cnblogs.com/qq78292959/archive/2012/07/16/2593651.html iOS消息推送机制的实现 iOS消息推送的工作机制可以简单的用下 ... 
- 【iOS】iOS消息推送机制的实现
		iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务 ... 
- iOS消息推送机制
		iOS消息推送的工作机制可以简单的用下图来概括: Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务 ... 
- (转)iOS消息推送机制中pem文件的生成
		转自:http://2015.iteye.com/blog/1567777 以前写了一篇文章:iOS消息推送机制的实现,这篇文章中生成的是p12文件,但是php是用的pem文件,生成的方法和p12文件 ... 
- [置顶] 手把手教你iOS消息推送证书生成以及Push消息
		iOS推送消息是许多iOS应用都具备的功能,今天在给应用加推送功能,在生成证书的过程中,发生了各种令人蛋痛的事.下面就把步骤拿出来分享下: iOS消息推送的工作机制可以简单的用下图来概括: Provi ... 
- 了解iOS消息推送一文就够:史上最全iOS Push技术详解
		本文作者:陈裕发, 腾讯系统测试工程师,由腾讯WeTest整理发表. 1.引言 开发iOS系统中的Push推送,通常有以下3种情况: 1)在线Push:比如QQ.微信等IM界面处于前台时,聊天消息和指 ... 
- 【转】iOS消息推送实现过程记录
		客户端代码:链接地址 服务器代码:链接地址 链接地址 这里记录下iOS消息推送实现的全过程 首先,申请秘钥. 之后进入链接地址开发者,当然你得有啊!!!!! 点击这里 如图: 下面实现创建推送证书( ... 
- ios消息推送机制原理与实现
		本文转载至 http://hi.baidu.com/yang_qi168/item/480304c542fd246489ad9e91 Push的原理: Push 的工作机制可以简单的概括为下图 图中, ... 
随机推荐
- 【Linux】使用update-alternatives命令进行版本的切换
			引言 在Redhat中也有此功能,用于切换不同版本. 在Debian系统中,我们可能会同时安装有很多功能类似的程序和可选配置,可能会出现同一软件的多个版本并存的场景.比如像是一些编程语言工具,一些系统 ... 
- 如何自学 Java 开发
			如何自学 Java 开发? 568赞同反对,不会显示你的姓名 李艾米IT路上学习 568 人赞同 Java Web前端技术 HTML 入门视频课程 1 HTML 简介 2 HTML基本结构[ 3 HT ... 
- 网络基础之IPv4、网线、
			=========================================Internet是一个圈子,进去这个圈子就要有相应的身份,就像我们去篮球场打球,首先得是个"人"才 ... 
- 原生JS常用代码汇总
			数组相关 var codes = new Array( ); //创建数组codes.length //数组长度 动态插入数组 codes.push(value); 
- 为什么为 const 变量重新赋值不是个静态错误
			const 和 let 的唯一区别就是用 const 声明的变量不能被重新赋值(只读变量),比如像下面这样就会报错: const foo = 1 foo = 2 // TypeError: Assig ... 
- 【piu~】制作一只变形小鸡~
			在http://codepen.io/pick上看到的,,,具体是谁忘了,反正我只截了最萌的一段,作者越改越不萌ಥ_ಥ 谷哥哥随便一搜就有很多好玩的,度娘就...(  ̄ ▽ ̄)o╭╯☆#╰ _─﹏─) ... 
- Github.com上有哪些比较有趣的PHP项目?
			链接就不贴了,可以在github上进行搜索.这里就不列举 symfony.laravel 这些大家都知道的项目了.只列举比较有意思的. swoole, C扩展实现的PHP异步并行网络通信框架,可以重新 ... 
- Javascript闭包深入解析及实现方法
			1.什么是闭包 闭包,官方对闭包的解释是:一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分.闭包的特点:1. 作为一个函数变量的一个引用,当函数返回时 ... 
- js 阻止事件冒泡
			function stopBubble(e) { //如果提供了事件对象,则这是一个非IE浏览器 if ( e && e.stopPropagation ) //因此它支持W3C的st ... 
- (原)android的alertdialog中加入edittext但是不弹出软键盘等问题的解决与原因
			摘要:alertdialog中加入edittext但是不弹出软键盘等问题网上有很多不管用的解决方案, 本文意在给出更有效的解决办法,并初步探究其原因 正文 在对话框中插入文本框是十分常见的需求 通常我 ... 
