iosjpush证书设置

JPush是一家专门提供移动推送服务的公司,其提供的JPush SDK可以方便地在移动应用中集成推送功能。在iOS平台上,使用JPush需要配置推送证书,本文将介绍iOS JPush推送证书的设置原理和详细步骤。

一、推送证书的作用

在iOS平台上,推送服务是由苹果公司提供的,应用需要向苹果服务器注册并获取推送证书,才能使用苹果提供的推送服务。推送证书包括开发证书和发布证书,用于区分应用的开发和发布版本。通过配置推送证书,应用可以接收到苹果服务器推送的消息。

二、推送证书的生成

在生成推送证书之前,需要先创建一个App ID,并开启推送服务。具体步骤如下:

1. 登录苹果开发者中心,点击“Certificates, Identifiers & Profiles”。

2. 选择“Identifiers”选项卡,点击“App IDs”下的“+”号。

3. 在“Register an App ID”页面中,输入应用的名称和Bundle ID,选择“Push Notifications”选项,并保存。

4. 选择“Certificates”选项卡,点击“+”号,选择“Apple Push Notification service SSL (Sandbox & Production)”证书类型。

5. 在“Create a Certificate”页面中,选择应用的App ID,按照提示在Mac电脑上使用Keychain Access工具生成CSR文件,并上传到苹果服务器。

6. 下载生成的证书文件,并双击安装到Keychain Access中。

7. 在Keychain Access中找到刚刚安装的证书,右键点击“Export”,选择.p12格式保存到电脑中。

三、推送证书的配置

1. 在JPush官网注册账号,并创建应用。

2. 下载JPush SDK,将JPush SDK添加到工程中。

3. 在工程中添加推送证书文件,可将.p12格式的证书文件重命名为apns.p12,并放入工程目录中。

4. 在AppDelegate.m文件中添加以下代码:

```Objective-C

#import "JPUSHService.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// Required

JPUSHRegisterEntity *entity = [[JPUSHRegisterEntity alloc] init];

entity.types = JPAuthorizationOptionAlert|JPAuthorizationOptionBadge|JPAuthorizationOptionSound;

[JPUSHService registerForRemoteNotificationConfig:entity delegate:self];

// Required

[JPUSHService setupWithOption:launchOptions appKey:@"your appkey" channel:@"App Store" apsForProduction:isProduction];

return YES;

}

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {

[JPUSHService registerDeviceToken:deviceToken];

}

- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {

NSLog(@"did Fail To Register For Remote Notifications With Error: %@", error);

}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {

[JPUSHService handleRemoteNotification:userInfo];

}

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {

[JPUSHService handleRemoteNotification:userInfo];

completionHandler(UIBackgroundFetchResultNewData);

}

```

其中,“your appkey”需要替换为在JPush官网上创建应用时生成的AppKey,“isProduction”为是否为发布版本,需要根据实际情况设置。

四、总结

JPush提供了方便易用的移动推送服务,使用JPush SDK可以快速地在应用中集成推送功能。在iOS平台上,使用JPush需要配置推送证书,通过以上步骤可以生成和配置推送证书,并在应用中使用JPush SDK实现推送功能。