我跟随了这个方法。它适用于沙盒和生产环境。
要创建Twilio证书,请按照以下说明进行操作:
步骤1:
1. An Apple Developer membership to be able to create the certificate.
2. Make sure your App ID has the “Push Notifications” service enabled.
3. Create a corresponding Provisioning Profile for your app ID.
4. Create an Apple VoIP Services Certificate for this app by navigating to Certificates -> Production and clicking the + on the top right to add the new certificate (choose voip cert at the bottom).
5. Download the certificate, export the .p12 from keychain.
步骤2:
然后按照以下步骤操作,进入您添加.p12文件的文件夹。
1. openssl pkcs12 -in liveVoip.p12 -nocerts -out key.pem
2. openssl rsa -in key.pem -out key.pem
3. openssl pkcs12 -in liveVoip.p12 -clcerts -nokeys -out cert.pem
4. openssl pkcs12 -in liveVoip.p12 -out VOIP.pem -nodes -clcerts
在 Twilio 控制台中,转到推送凭据页面并创建新的推送凭据。将从您的证书中提取的证书和私钥粘贴在此处。您必须将密钥作为纯文本粘贴:
最初的回答:在Twilio控制台中,进入Push Credentials页面并创建新的Push Credential。将从您的证书中提取的证书和私钥粘贴在此处。您必须将密钥作为纯文本粘贴。
For the cert.pem you should paste everything from
For the key.pem you should paste everything from
记得勾选“沙盒”选项。这很重要。您生成的VoIP服务证书可以在生产环境和Apple的沙盒基础设施中使用。勾选此框告诉Twill将您的推送发送到适合您开发配置文件的Apple沙盒基础设施。
一旦应用程序准备好提交商店,请使用“APS Environment: production”更新plist,并创建另一个Push凭据,该凭据具有相同的VoIP证书,但未勾选沙盒选项。
步骤3:为了测试应用程序是否接收通知,请获取设备令牌,在终端中打开,转到添加.p12的文件夹。使用此方法手动触发voip通知。
apn push "<XXXXXX XXXXXX XXXXXX XXXXXX XXXXXX XXXXXX e8aafbd9>" -c VOIP.pem -m "Testing VoIP" -p
注意:有时候Twilio会报告无效的APNS令牌,但我们仍然能够收到VoIP通知。
最初的回答:
有时候即使Twilio报告APNS令牌无效,但我们仍然可以收到VoIP通知。