я пошел по этому пути. это работает как для песочницы, так и для живых.
Для создания сертификата 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
в консоли Twillio. Перейдите на страницу Push Credentials и создайте новый Push Credential. Вставьте сертификат и закрытый ключ, извлеченный из вашего сертификата. Вы должны вставить ключи в виде открытого текста:
For the cert.pem you should paste everything from -----BEGIN CERTIFICATE----- to -----END CERTIFICATE-----.
For the key.pem you should paste everything from -----BEGIN RSA PRIVATE KEY----- to -----END RSA PRIVATE KEY-----.
Не забудьте проверить опцию «Песочница». Это важно. Сгенерированный вами сертификат службы VoIP можно использовать как в рабочей среде, так и в инфраструктуре песочницы Apple. Если этот флажок установлен, Twill отправит ваши запросы в инфраструктуру песочницы Apple, соответствующую вашему профилю обеспечения разработки.
Как только приложение будет готово к отправке в магазин, обновите plist с помощью «APS Environment: production» и создайте еще одно Push Credential с тем же сертификатом VoIP, но без проверки параметра «песочница»
ШАГ 3: Чтобы проверить, что ваше приложение получает уведомление, получите токен устройства, откройте терминал, перейдите в папку, в которую вы добавили .p12. используйте это, чтобы вызвать уведомление voip вручную.
apn push "<XXXXXX XXXXXX XXXXXX XXXXXX XXXXXX XXXXXX e8aafbd9>" -c VOIP.pem -m "Testing VoIP" -p
ПРИМЕЧАНИЕ. Иногда twilio сообщает неверный токен apns. но все же мы можем получить уведомление VoIP.