Ios APNS提供商API和邮递员
我正在尝试使用Postman在我的iOS应用程序中创建和测试Apple通知 由于某种原因,我没有收到邮递员向Ios APNS提供商API和邮递员,ios,ssl,apple-push-notifications,postman,Ios,Ssl,Apple Push Notifications,Postman,我正在尝试使用Postman在我的iOS应用程序中创建和测试Apple通知 由于某种原因,我没有收到邮递员向https://api.development.push.apple.com/3/device/或https://api.push.apple.com/3/device/失败,但未获得任何HTTP响应 到目前为止我所做的: 1-从我的developer.apple.com帐户创建并导出APNS证书(如上所述) 2-使用最新版本的openssl(1.0.2l)将此.p12证书转换为.pem证
https://api.development.push.apple.com/3/device/
或https://api.push.apple.com/3/device/
失败,但未获得任何HTTP响应
到目前为止我所做的:
1-从我的developer.apple.com帐户创建并导出APNS证书(如上所述)
2-使用最新版本的openssl(1.0.2l)将此.p12证书转换为.pem证书和密钥,如下所示:
openssl pkcs12 -in apns.p12 -out apns.crt.pem -clcerts -nokeys
openssl pkcs12 -in apns.p12 -out apns.key.pem -nocerts -nodes
{
"aps" : {
"alert" : {
"title" : "Game Request",
"body" : "Bob wants to play poker"
}
}
}
3-配置邮递员(首选项>证书)以将这些.pem文件用于提供程序API URL(开发和生产)
4-使用带有my bundle id作为值的apns主题
标头和如下HTTP正文,为我的设备令牌向这些提供商API端点设置POST请求:
openssl pkcs12 -in apns.p12 -out apns.crt.pem -clcerts -nokeys
openssl pkcs12 -in apns.p12 -out apns.key.pem -nocerts -nodes
{
"aps" : {
"alert" : {
"title" : "Game Request",
"body" : "Bob wants to play poker"
}
}
}
失败的原因是“无法得到任何响应,等等”
如果我在邮递员控制台上检查发生了什么,我会看到:
职位
06:18:08.236
错误:解析错误
客户端证书:
keyPath:“/Users/thomas/wksp_myproj/apns.key.pem”
pemPath:“/Users/thomas/wksp_myproj/apns.crt.pem”
请求标头:
缓存控制:“无缓存”
邮递员令牌:“99615df2-b2aa-4a51-8d15-8ce27f4e8ca9”
内容类型:“应用程序/json”
apns主题:“myproj.app”
另外,当我使用openssl进行测试时,如前所述:
openssl s_client-connectapi.development.push.apple.com:443-cert apns.pem-debug-showcerts-CAfile GeoTrust\u Global\u CA.pem
我在最后得到了很多输出:
HTTP/2客户端前言字符串丢失或损坏。接收字节的十六进制转储:0aread自0x7f9445c215c0[0x7f9446015c03](5字节=>0(0x0))
读取:errno=0
出什么问题了?好吧,忘了邮递员吧,我最终使用了带有http2的curl和更新版本的openssl(1.0.2l),它工作得很好。对于那些希望看到curl命令示例的人来说,.不确定这是否是我出现此错误的原因,但似乎APS提供程序API需要Postman尚不支持的HTTP/2:(。。。