美文网首页
苹果配置推送证书2016.10

苹果配置推送证书2016.10

作者: cj2527 | 来源:发表于2016-10-13 11:54 被阅读48次

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

    一、准备工作

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

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

    如何制作:

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

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

    默认文件名是CertificateSigningRequest.certSigningRequest


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

    1.登录苹果开发者后台

    https://developer.apple.com


    2.

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

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

    5.完成后就会显示

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

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

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

    就会在钥匙串中打开。

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

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

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


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

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

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

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

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

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

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

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


    五、配置极光推送

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

     获得appkey

    2.集成sdk

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

    接着导入上面的框架

    3.配置xcode


    也要开启上面的选项


    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

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