苹果配置推送证书2016.10

要做极光推送项目,从0开始接触,集成到使用。

一、准备工作

前提:要有付费的苹果开发者账号,不然搞不了。

CSR文件:是用于换取证书的公钥文件,导出CSR这个过程其实就是电脑向证书机构申请凭证的过程。证书是你用电脑制作的并且颁发给你的电脑的。但是这台电脑是否具有制作证书的能力,就是要这个CSR文件来凭证

如何制作:

点击Finder,前往,实用工具,里面有一个钥匙串访问。打开

苹果配置推送证书2016.10_第1张图片

接下来随便输入邮箱,但是第二个选项要注意,保存到磁盘。

默认文件名是CertificateSigningRequest.certSigningRequest



二、开始制作——>开发证书,这是第一个证书

1.登录苹果开发者后台

https://developer.apple.com


2.

苹果配置推送证书2016.10_第2张图片

3.选择第一个,制作开发证书

苹果配置推送证书2016.10_第3张图片

4.点击下一步,傻瓜式操作,有一步是上传CSR文件的。就是准备工作中制作好的。

5.完成后就会显示

苹果配置推送证书2016.10_第4张图片

  IOS Development 是开发证书的,只能配置两个。然后再点击添加的时候,就发现选不了,是灰色。

6.导出p12文件。这是个极光推送后台需要的。

下载刚才做的证书,双击安装。

就会在钥匙串中打开。

遇到的问题:右键点击开发证书,发现导出不了p12文件,是灰色的。


苹果配置推送证书2016.10_第5张图片

这里要注意,默认证书安装,是在系统的目录下,登录的目录下是没有的,需要手动复制证书,然后粘贴进登录目录下。

然后右键选择导出。对话框中选择p12文件格式,最后会提示你设置p12密码,随便设置,我是写了111111.
到此开发证书就制作完了。



三、开始制作——>开发环境下的推送证书,这是第二个证书


苹果配置推送证书2016.10_第6张图片

development英文翻译,开发,专业术语开发证书。有两种类型。第二个是开发环境下的推送证书。

然后点击继续,上传CSR文件,最后就制作完成了开发环境的推送证书。

下载保存,默认文件名aps_development.cer

双击安装,默认会安装在系统目录下,然后复制,粘贴到登录目录下,右键导出p12文件。

苹果配置推送证书2016.10_第7张图片

#四、开始制作——>发布环境下的推送证书,这是第三个证书。

苹果配置推送证书2016.10_第8张图片

Production,英文翻译生产,产品。专业术语就是生产证书,我更愿意叫产品证书。

步骤和上面类似。下载默认文件名aps.cer



五、配置极光推送


1.极光官网注册应用,分别上传前面生产的两个推送证书的p12文件

苹果配置推送证书2016.10_第9张图片

 获得appkey

2.集成sdk

下载解压sdk包,拖动整个lib文件夹到自己的工程

苹果配置推送证书2016.10_第10张图片

接着导入上面的框架

3.配置xcode


苹果配置推送证书2016.10_第11张图片

也要开启上面的选项



4.编写代码

AppDelegate.m文件

```

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

// Override point for customization after application launch.

if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {

//可以添加自定义categories

[JPUSHService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |UIUserNotificationTypeSound |UIUserNotificationTypeAlert)categories:nil];

} else {

//categories 必须为nil

[JPUSHService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |UIRemoteNotificationTypeSound |UIRemoteNotificationTypeAlert)categories:nil];

}

[JPUSHService setupWithOption:launchOptions appKey:@极光推送后台给的key

channel:@""  apsForProduction: NO];

return YES;

}

```

以下代码也是复制高手的,当测试了

```

- (void)applicationWillEnterForeground:(UIApplication *)application {

NSLog(@"进入前台");

//    [UIApplication sharedApplication].applicationIconBadgeNumber = 0;

}

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

//iOS 7及之后才能用,现在没人适配iOS6了吧...

// IOS 7 Support Required

//    [JPUSHService handleRemoteNotification:userInfo];

//    completionHandler(UIBackgroundFetchResultNewData);

NSLog(@"%@",userInfo);//推送过来的内容也在这了

NSLog(@"后台收到推送");

}

//处理接收推送错误的情况(一般不会…)

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

//Optional

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

}

```

编译通过,极光推送从0开始到成功。

你可能感兴趣的:(苹果配置推送证书2016.10)