zoukankan      html  css  js  c++  java
  • iOS开发——远程消息推送的实现

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

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

    实现过程例如以下:

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



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



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



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

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

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



    生成的文件例如以下:



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



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



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



    (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就可以。

     。


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



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




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



    下载后的文件例如以下:


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



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



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



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

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

    .


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

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





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




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

    点击Continue继续。



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



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



    (21)然后下载Profile文件。



    下载后的文件例如以下:




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







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





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





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


         

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



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



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

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




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



    上传成功后例如以下:



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

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

    选择Download。




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




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

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

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



    如今这行代码就变为:

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


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



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


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

    .


    .


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

    点击发送就可以。



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



        

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



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


  • 相关阅读:
    AcWing 157. 树形地铁系统 (hash判断树同构)打卡
    AcWing 156. 矩阵 (哈希二维转一维查询)打卡
    AcWing 144. 最长异或值路径 01字典树打卡
    AcWing 143. 最大异或对 01字典树打卡
    AcWing 142. 前缀统计 字典树打卡
    AcWing 139. 回文子串的最大长度 hash打卡
    AcWing 138. 兔子与兔子 hash打卡
    常用C库函数功能及用法
    编程实现C库函数
    C语言面试题5
  • 原文地址:https://www.cnblogs.com/yfceshi/p/6918918.html
Copyright © 2011-2022 走看看