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

有关推送,首先我们需要两个文件
  • 真机证书是我们最终要的文件,后缀是.p12.
  • JPush-iOS-SDK-1.8.5文件是为了获取里面lib.运行程序时候拖入工程


    [iOS]使用JPush实现远程推送RemotePush的步骤_第1张图片
    图1-1

JPush下载地址


p12的制作步骤


AppID的创建过程

  • 在苹果开发者官网中,点击Member center输入账号密码登陆.
  • 创建App ID[苹果应用程序ID]
    [iOS]使用JPush实现远程推送RemotePush的步骤_第2张图片
  • 点击加号,添加新的ID


    [iOS]使用JPush实现远程推送RemotePush的步骤_第3张图片
  • 在app ID description中,填写ID名字,. ID前缀定义为团队默认ID和一个应用程序ID后缀!
    • appID 一般是: XXXXTeam.Sample.XXX前面是开发团队的名字, 中间是项目名后面是一个自己定义的一串字符
    • Bundle ID 一般是 com.XXXXXXX.Sample
      [iOS]使用JPush实现远程推送RemotePush的步骤_第4张图片

      [iOS]使用JPush实现远程推送RemotePush的步骤_第5张图片
  • 点击ContinueSubmitDone

CSR文件的生成过程

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


    [iOS]使用JPush实现远程推送RemotePush的步骤_第6张图片
  • 存储将要生成的文件


    [iOS]使用JPush实现远程推送RemotePush的步骤_第7张图片
  • 存储的结果


    [iOS]使用JPush实现远程推送RemotePush的步骤_第8张图片

Certificates的创建过程

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

[iOS]使用JPush实现远程推送RemotePush的步骤_第9张图片

点击 搜索进去
[iOS]使用JPush实现远程推送RemotePush的步骤_第10张图片

在最下方
[iOS]使用JPush实现远程推送RemotePush的步骤_第11张图片

  • 选择刚才生成的CSR文件上传


    [iOS]使用JPush实现远程推送RemotePush的步骤_第12张图片
  • 然后Continue,并且下载生成的文件
    [iOS]使用JPush实现远程推送RemotePush的步骤_第13张图片
  • 双击aps_development.cer,会自动安装到钥匙串访问程序内
    [iOS]使用JPush实现远程推送RemotePush的步骤_第14张图片

    [iOS]使用JPush实现远程推送RemotePush的步骤_第15张图片
  • 导出的时候,可以设置密码,也可以不设置.都可以.


    [iOS]使用JPush实现远程推送RemotePush的步骤_第16张图片

生成可用的mobileprovisioning文件

  • 点击Member Center中的Provisioning
    [iOS]使用JPush实现远程推送RemotePush的步骤_第17张图片
  • 点击+按钮
    [iOS]使用JPush实现远程推送RemotePush的步骤_第18张图片
  • 选择与我们刚才创建的相同的App ID
    [iOS]使用JPush实现远程推送RemotePush的步骤_第19张图片
  • 点击ContinueSelect All全选下一步
    [iOS]使用JPush实现远程推送RemotePush的步骤_第20张图片
  • 选择可以进行测试的真机设备


    [iOS]使用JPush实现远程推送RemotePush的步骤_第21张图片
  • 下载mobileprovisioning,保存在桌面上就可以.
    [iOS]使用JPush实现远程推送RemotePush的步骤_第22张图片

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


极光推送后台的配置过程

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


    [iOS]使用JPush实现远程推送RemotePush的步骤_第23张图片
  • 上传成功后,会有对应的提示


    [iOS]使用JPush实现远程推送RemotePush的步骤_第24张图片

Xcode代码中的实现过程

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

[iOS]使用JPush实现远程推送RemotePush的步骤_第27张图片

这个appkey 就是你在jpush中创建的那个应用 app key(点击去就可以看到)
CHANNEL 一般默认为0

  • 更改应用程序唯一标识符bundle identifier
    [iOS]使用JPush实现远程推送RemotePush的步骤_第28张图片
  • 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的步骤)