iOS 进阶开发— 原生APNS配置以及server实现(c++版本)

关于iOS APNS的server provider 一直没有看到关于c++版本的,不过现在的各种第三方APNS已经很成熟了,比如百度的云推送SDK等等,这里简单总结一下如何实现iOS原生的APNS server provider.

第一步,生成证书,如何生成.p12证书这里就不细说了,如果不清楚的请查阅其他文档,或者评论里留言,如果问的多的话我再加上

openssl pkcs12 -clcerts -nokeys -out cert.pem -in Certificate.p12 
provide new password if asked. 
openssl pkcs12 -nocerts -out key.pem -in Certificate.p12 
provide new password if asked. 
cat cert.pem key.unencrypted.pem > ck.pem

测试版本要生成developer 证书,发布的要对应的生成发布版本的。

生成.pem证书之后,把pem证书放到你的server provider工程中去。

第二步:server provider实现(c++版本)

要实现server provider, 需要先编译安装openssl, 因为Apple 的APNS是基于openssl实现的。

先来看头文件实现

/*
 * Auth The Croods
 */
#pragma once
#include <stdio.h>
#include <tchar.h>
#include <stdlib.h>
#include <winsock.h>
#include <openssl/ssl.h>
#include <openssl/rand.h>
#include <openssl/bio.h>
#include <openssl/err.h>
#include <openssl/x509.h>

// certificate
#define CERTFILE "./apns_dev.pem"
#define SSL_CTX_LOAD_VERIFY_LOCATIONS_FAILED  -1
#define BIO_DO_CONNECT_FAILED                 -2
#define SSL_GET_VERIFY_RESULT_FAILED          -3

class APNS_Croods
{
private:
    SSL_CTX                *m_pctx;
    SSL           
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值