push具体的实现就不啰嗦了,网上资料很多,几个蛋疼的小地方记录一下
隔几天看了下,居然都忘记了,重新弄了下,记录一些步骤,以备后来翻看
------------------------------------------------------------------------------------------------------------------------
先从本机的钥匙串里面生成一个证书,提交到Certificate里面,
然后打开appId,打开config,提交这个证书到appId的push的配置里面,生成以后下载安装。
需要安装的证书:
1,提交到Certificate里面以后的证书需要安装
2,appId里面配置启用push以后的证书
2,provisional的的证书
1,先指定秘钥对信息,pushmebaby成功,php测试成功
2,不指定秘钥对信息,pushmebaby成功,php测试成功
pushmebaby里面的证书采用appId里面添加push权限以后的证书来制作
这个证书安装以后,导出为p12格式,然后用openssl的命令行转为pem证书给php的服务端
------------------------------------------------------------------------------------------------------------------------
证书部分:
1,app客户端本身的证书,也就是bundleID需要添加push权限
2,这个bundleId不能为通配符,必须明确;这个bundleId添加push权限的时候需要根据本机的私钥来生成,注意,生成私钥的时候必须指定秘钥对信息,默认就可以了,不然会不能导出为p12格式
3,服务端需要的证书流程:
从ios开发者门户里面下载bundleId的push证书,具体位置在iPhone Provisioning Portal > App ID
双击安装到keychain以后,导出为p12,需要从”我的证书“里面导出,不然导出不了。
输入
- openssl pkcs12 -clcerts -nokeys -out cert.pem -in Certificates.p12
- openssl pkcs12 -nocerts -out key.pem -in Certificates.p12
- openssl rsa -in key.pem -out key.unencrypted.pem
- cat cert.pem key.unencrypted.pem > ck.pem