iOS推送证书即将过期解决办法

iOS推送证书即将过期的解决办法

1.证书请求文件CSR备好,放到桌面,如何创建CSR请看官方文档。

image.png

2.登录apple开发者中心。

apple开发者 > Account >Certificates,IDs & Profiles >Identifiers >找到对应app的Identifier(和xcode工程中的Bundle ldentifier一致)

image

Identifiers里找到对应app的Identifier(和xcode工程中的Bundle ldentifier一致),然后找到Push Notifications > Edit


image.png

这里就可以看到你的app对应的推送证书了,点击Create Certificate创建证书:
Development SSL Certificate测试环境推送证书;
Production SSL Certificate 生产环境证书;


image

来到创建证书这里,上传已备好的CSR文件,点击Continue即可完成创建(生产和测试过程一样,同一个CSR文件)。


image

然后回到对应app的Identifier页面,就能看到多出了刚刚创建的推送证书和即将过期推送的证书了,旧的证书可以Revoke或者不管都行。

点击Download将证书下载到本地,双击打开下载的开发环境和生产环境证书,系统会将其导入钥匙串中。

  1. 在钥匙串中找到刚才导入的证书,分别导出.P12证书文件,交给后台配置。


    image

到此,证书就配置完成了。

其它问题

  1. 证书不受信任,可能是AppleWWDRCA不小心被清理或者过期,重新下载AppleWWDRCA证书地址,下载下来后双击自动添加到钥匙串即可。

    image

  2. 推送证书验证:
    SmartPush

    image

证书会从钥匙串选择,Token可以从代码里获取到。

/*
 *  APNs注册成功回调
 * deviceToken是NSData类型,需要转换成字符串NSString
 */
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    NSString *token = @"";
    if (@available(iOS 13.0, *)) {
        NSUInteger len = deviceToken.length;
        char *chars = (char *)[deviceToken bytes];
        NSMutableString *hexString = [[NSMutableString alloc] init];
        for (NSUInteger i = 0; i < len; i++) {
            [hexString appendString:[NSString stringWithFormat:@"%0.2hhx", chars[i]]];
        }
        token = hexString;
    } else {
        token = [[deviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]];
        token = [token stringByReplacingOccurrencesOfString:@" " withString:@""];
    }
    NSLog(@"%@", token);
}

你可能感兴趣的:(iOS推送证书即将过期解决办法)