美文网首页iOS资源库iOS9开发技术iOS Developer
[iOS]使用JPush实现远程推送RemotePush的步骤

[iOS]使用JPush实现远程推送RemotePush的步骤

作者: 肖浩呗 | 来源:发表于2015-09-15 21:02 被阅读1927次
    有关推送,首先我们需要两个文件
    • 真机证书是我们最终要的文件,后缀是.p12.
    • JPush-iOS-SDK-1.8.5文件是为了获取里面lib.运行程序时候拖入工程


      图1-1

    JPush下载地址


    p12的制作步骤


    AppID的创建过程

    • 苹果开发者官网中,点击Member center输入账号密码登陆.
    • 创建App ID[苹果应用程序ID]
    • 点击加号,添加新的ID


    • 在app ID description中,填写ID名字,. ID前缀定义为团队默认ID和一个应用程序ID后缀!
      • appID 一般是: XXXXTeam.Sample.XXX前面是开发团队的名字, 中间是项目名后面是一个自己定义的一串字符
      • Bundle ID 一般是 com.XXXXXXX.Sample

    • 点击ContinueSubmitDone

    CSR文件的生成过程

    • 打开Mac OS X系统内的钥匙串访问程序.


    • 存储将要生成的文件


    • 存储的结果



    Certificates的创建过程

    有两种方法,最简便的方法是:


    点击搜索进去

    在最下方
    • 选择刚才生成的CSR文件上传


    • 然后Continue,并且下载生成的文件
    • 双击aps_development.cer,会自动安装到钥匙串访问程序内

    • 导出的时候,可以设置密码,也可以不设置.都可以.



    生成可用的mobileprovisioning文件

    • 点击Member Center中的Provisioning
    • 点击+按钮
    • 选择与我们刚才创建的相同的App ID
    • 点击ContinueSelect All全选下一步
    • 选择可以进行测试的真机设备


    • 下载mobileprovisioning,保存在桌面上就可以.

    到此为止,P12证书的制作就完成了


    极光推送后台的配置过程

    • 进入极光推送→控制台.创建新的应用.


    • 上传成功后,会有对应的提示



    Xcode代码中的实现过程

    • 双击mobileprovisioning描述文件,也就是我们最后生成的文件.
    • 将开头我们下载的JPush框架中的lib拖进 工程.编译一下.
    • 引用必要的框架.
    • CFNetwork.framework
    • CoreFoundation.framework
    • CoreTelephony.framework
    • SystemConfiguration.framework
    • CoreGraphics.framework
    • Security.framework
    • libz.dylib
    • 在你的工程里创建一个新的property list文件 填入参数.
    {  
        "APS_FOR_PRODUCTION" = "0";  
        "CHANNEL" = "Publish channel";  
        "APP_KEY" = "AppKey copied from JPush Portal application"; 
    }
    

    这个appkey 就是你在jpush中创建的那个应用 app key(点击去就可以看到)
    CHANNEL 一般默认为0
    • 更改应用程序唯一标识符bundle identifier
    • AppDelegate.m文件的代码实现
    - (void)application:(UIApplication *)application didFinishLaunchWithOptions:(id)options 
    {
        if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {     
           //可以添加自定义categories    
           [APService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge|UIUserNotificationTypeSound |UIUserNotificationTypeAlert)                                        
                                              categories:nil];   
        } else {     
           //categories 必须为nil     
           [APService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)                                        
                                              categories:nil];   
        }      
        // Required     
        [APService setupWithOption:launchOptions];
    }
    - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {      
        // Required     
        [APService registerDeviceToken:deviceToken]; 
    }  
    - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {      
        // Required     
        [APService handleRemoteNotification:userInfo]; 
    }  
    

    运行程序即可……

    感谢 @李晓飞

    相关文章

      网友评论

      本文标题:[iOS]使用JPush实现远程推送RemotePush的步骤

      本文链接:https://www.haomeiwen.com/subject/warmcttx.html