iOS开发——远程消息推送的实现

摘要:
你总是会收到很多信息。首先,消息推送分为本地消息推送和远程消息推送。其中,远程消息是最常用的。你需要购买一个苹果开发者账户,每年99美元;还有一台iOS真机。事实上,远程推送需要服务器,但我们暂时没有服务器。然后后台使用Parse进行推送。例如,单击iOSApps中的证书以进入以下界面。我们在苹果开发者网站上的配置已经完成。当程序执行时,我在Parse上推送一条消息。

       在我们使用App的过程中。总是会收到非常多的消息推送。今天我们就要来实现这个功能。首先消息推送分为本地消息推送和远程消息推送。而当中又以远程消息最为经常使用。

可是在推送远程消息之前。有两个前提条件。你须要购买苹果的开发人员账号,也就是每年99刀;而且有一台iOS真机(模拟器不能測试推送)。事实上远程推送须要有server,可是我们自己临时没有server,到时候后台使用Parse进行推送。

实现过程例如以下:

(1)进入苹果的开发人员站点:https://developer.apple.com/  。点击右上角的Member Center,登录。就会进入例如以下界面:

iOS开发——远程消息推送的实现第1张



(2)点击Certificates,Identifiers & Profiles 进入,出现例如以下界面:

iOS开发——远程消息推送的实现第2张



(3)点击iOS Apps中的Certificates中进入,出现例如以下界面。開始进行配置:

iOS开发——远程消息推送的实现第3张



(4)打开Mac上的钥匙串訪问,选择钥匙串訪问-->证书助理-->从证书颁发机构请求证书。

用户电子邮件地址和CA电子邮件地址都填写你已经申请的开发人员账号,经常使用名称能够任意,然后存储到磁盘就可以。

这样就会生成一个CSR文件,在站点上配置时须要用到。如图:

iOS开发——远程消息推送的实现第4张


生成的文件例如以下:

iOS开发——远程消息推送的实现第5张


(5)然后再来到刚才的开发人员站点上。选择Certificates-->Development(开发用),假设你要公布,也能够选择Production,然后在右側点击如图所看到的:

iOS开发——远程消息推送的实现第6张



(6)然后在进入的页面中选择第二项:Apple Push Notification Service SSL (Sandbox).  点击continue.

iOS开发——远程消息推送的实现第7张


(7)假设你还没有为你的应用创建App ID,那么就会出现例如以下界面。创建一个就可以。然后点击continuebutton。

iOS开发——远程消息推送的实现第8张



(8)App ID Description 的name能够任意取,我填MyPushDemo。

在Explicit App ID的Bundle ID中填入你应用的ID,我填入 com.chenyufengweb.MyPushDemo.

在最以下的App Services。中选择Push Notifications,点击continuebutton。

进入下一个页面再点击submit就可以。


(9)注意。因为一開始我们没有创建App ID。经过以上步骤,我们仅仅是完毕了创建App ID的步骤。以下我们还是要创建Certificates证书。

此时就会出现例如以下界面,你选择自己要用的那个App ID就可以。

iOS开发——远程消息推送的实现第9张 。


(10)进入到例如以下界面后,选择我们刚才从钥匙串訪问生成出来的CSR文件:然后点击Generate就可以。

iOS开发——远程消息推送的实现第10张



(11)出现例如以下界面,下载我们的证书就可以,点击Done就可以。

iOS开发——远程消息推送的实现第11张



(12)这样我们的证书就生成、配置好了。

iOS开发——远程消息推送的实现第12张



下载后的文件例如以下:

iOS开发——远程消息推送的实现第13张

(13)此时我们还须要生成一样东西。点击Certificates-->Development,点击右上角“+”号button,在出现的界面中选择第一项(之前我们选择了第二项Apple Push Notifiation).点击continue。

iOS开发——远程消息推送的实现第14张



(14)同上,选择钥匙串訪问时生成的CSR文件。点击Generate。然后一路Continue就可以。此时Certificates下的界面如图:

iOS开发——远程消息推送的实现第15张


下载后的cer文件例如以下:

iOS开发——远程消息推送的实现第16张


(15)经过以上步骤。我们的App IDs和Certificates就生成好了。

以下要開始配置 Provisioning Profile.点击Provisioning Profiles中的Development(这是开发。假设你要公布,能够选择Distribution).

iOS开发——远程消息推送的实现第17张.


(16)然后点击右上角的“+”号button,加入一个配置文件。

选择iOS App Development。点击Continue继续。

iOS开发——远程消息推送的实现第18张




(17)选择刚才我们生成的App ID就可以:

iOS开发——远程消息推送的实现第19张



(18)然后选中我们的证书就可以。

点击Continue继续。

iOS开发——远程消息推送的实现第20张


(19)在以下出现的界面选择我们须要測试的设备,所有选中就可以。Continue继续。

iOS开发——远程消息推送的实现第21张


(20)下图中输入Profile Name。任意就可以。点击Generate就可以。

iOS开发——远程消息推送的实现第22张


(21)然后下载Profile文件。

iOS开发——远程消息推送的实现第23张


下载后的文件例如以下:

iOS开发——远程消息推送的实现第24张



(22)通过以上步骤。我们在苹果开发人员站点上的配置已经完毕了。如今我们已经下载了3个文件,直接双击三个文件进行安装就可以。

iOS开发——远程消息推送的实现第25张



iOS开发——远程消息推送的实现第26张



iOS开发——远程消息推送的实现第27张


(23)此时再次打开钥匙串訪问。就会在“证书”中出现我们刚才生成、安装的证书。

iOS开发——远程消息推送的实现第28张


iOS开发——远程消息推送的实现第29张


(24)点击右键,导出这个证书。

iOS开发——远程消息推送的实现第30张


iOS开发——远程消息推送的实现第31张


你能够输入password和验证,可是我们使用Parse作为后台进行推送,Parse不须要进行验证,我们直接点击“好”就可以。

iOS开发——远程消息推送的实现第32张

     

最后输入我们的电脑password就可以。

iOS开发——远程消息推送的实现第33张


最后会在桌面上生成.p12文件。

iOS开发——远程消息推送的实现第34张


(25)以下我们開始使用Parse进行推送。网址: http://www.parse.com/ 。

注冊一个账号,然后创建一个新的App,如图:

iOS开发——远程消息推送的实现第35张



(26)点击左側面板App Setting-->Push.在右側的Apple Push Certificates中上传刚才生成的.p12文件。

iOS开发——远程消息推送的实现第36张


上传成功后例如以下:

iOS开发——远程消息推送的实现第37张


(27)如今配置所有完毕。開始要写代码了。

我们偷个懒,直接从Parse上下载Demo使用。我也上传到Github。大家直接配置就能够使用:https://github.com/chenyufeng1991/iOS-ParsePushDemo

选择Download。

iOS开发——远程消息推送的实现第38张



(28)然后就会出现例如以下界面,选择Blank Project下载空文件就可以。解压打开就能够使用。

iOS开发——远程消息推送的实现第39张




(29)打开项目,进入ParseStarterProjectAppDelegate.m文件,取消凝视以下这行代码:

[Parse setApplicationId:@"your_application_id" clientKey:@"your_client_key"];

然后再次来到Parse中,从App Settings-->Security & Keys找到Application ID 和Client Key填入上面的代码中。

iOS开发——远程消息推送的实现第40张


如今这行代码就变为:

[Parse setApplicationId:@"2MRcLbJlEP3PF4s8tNOf14jcy2qjH4tVEKzta41k" clientKey:@"N0onfUozbzRDDxkZTKBb9aOLyLi9uiWZilzeeO5S"];


(31)同一时候要改动程序的App ID,刚才我设置的是com.chenyufengweb.MyPushDemo   .仅仅要在Info.plist文件的Bundle identifier中改动就可以。

iOS开发——远程消息推送的实现第41张


(32)然后还要进入Targets-->Build Stetings,右側输入 code sign搜索。把下方的Provisioning Profile设置成我们在开发人员站点上输入的Name,把Code Signing Identity设置成自己的开发人员账号。

iOS开发——远程消息推送的实现第42张


(33)经过以上复杂的步骤。你就能够在真机上执行程序了。当程序执行起来后,我在Parse上推送一条消息。进入Push。然后点击右上角的Send a push.

iOS开发——远程消息推送的实现第43张.


iOS开发——远程消息推送的实现第44张.


(34)然后在Parse上推送一条消息。

点击发送就可以。

iOS开发——远程消息推送的实现第45张



(35)大概几秒之后。client就会收到推送消息。点击推送消息就能进入App。至此,整个远程消息推送就完毕了。

iOS开发——远程消息推送的实现第46张



    

     总结:远程推送的配置过程是较为麻烦的。假设大家有时间,能够对APNS,签名。Provisioning Profile,证书等概念进行了解,就会更加的得心应手。



github主页:https://github.com/chenyufeng1991  。欢迎大家訪问!


免责声明:文章转载自《iOS开发——远程消息推送的实现》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇理工科应该的知道的C/C++数学计算库(转)Git客户端(TortoiseGit)基本使用详解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

软件测试的艺术

1. 软件测试,就是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。 测试投入的目标在于:通过有限的测试用例,最大限度地提高发现的问题的数量,以取得最好的测试效果。 2. 测试,是为发现错误而执行程序的过程。 软件做了其应该做的,未做其不应该做的。 软件测试是一个破坏性的过程,甚至是一个“施虐”的过程。 3. 黑盒测试...

在Android手机或者平板上直接调试运行APK程序

今天晚上有个同学问我,说AVD运行android程序太慢了,有没有更好的方法呢?? 于是我就推荐他可以用android系统的手机或者平板来直接调试运行android程序,下面让我来简单的介绍怎么用。 参考文章:http://www.cnblogs.com/plwang1990/archive/2011/07/04/2097757.html、 http://...

IOS开发之--Xcode的简单使用

Xcode的简单使用 一、快捷键的使用 经常用到的快捷键如下: 新建 shift + cmd + n     新建项目 cmd + n             新建文件 视图 option + cmd + 回车 打开助理编辑器 cmd + 回车           显示主窗口 cmd + 0             导航窗口 option + cmd +...

Selenium浏览器自动化测试工具

Selenium浏览器自动化测试工具 目录 Selenium浏览器自动化测试工具 Selenium模块在爬虫中的使用 Python简单使用Selenium执行结果 Selenium的基本操作执行效果点击查看 Selenium爬取动态加载的数据http://125.35.6.84:81/xk/ 目标网站 Selenium动作链 (实现拖动...

【小慕读书】—— 后台管理系统学习:后端框架搭建

前言:最近在学习Vue+Element UI+Node.js小慕读书中后台管理系统开发课程,这里对学习过程作个笔记,方便自己和大家翻阅。 一、Node 简介 Node 是一个基于 V8 引擎的 Javascript 运行环境,它使得 Javascript 可以运行在服务端,直接与操作系统进行交互,与文件控制、网络交互、进程控制等 与Chrome的区别:...

appium+Python真机运行测试demo的方法

appium+Python真机运行测试demo的方法 一,    打开手机的USB调试模式 二,    连接手机到电脑    将手机用数据线连接到电脑,并授权USB调试模式。查看连接的效果,在cmd下运行命令:adb devices查看UDID,如下图所示: 如果有输出,就表示连接成功。 三,    启动Appium服务 方法一:cmd命令行启动    ...