Ошибка Twilio - неверный токен устройства APNs 52134 - PullRequest
0 голосов
/ 24 января 2019

Я загрузил свое приложение на TestFlight и пытаюсь сделать голосовой вызов, используя twilio, и оно выдает Ошибка - 52134 Недопустимый токен устройства APNs . Я читал много уроков по его исправлению, но, несмотря на все свои усилия, я смог это исправить. В песочнице все работало нормально.

Я сделал следующее: 1) Создан новый запрос .certSigningRequest из цепочки для ключей доступа

2) Создан новый сертификат услуг VoIP с использованием вышеуказанного https://developer.apple.com/account/ios/certificate/distribution/create

3) Добавлен сертификат в связку ключей, экспортирован файл .p12 из связки ключей

4) Следуя инструкциям на https://github.com/twilio/voice-quickstart-swift, запустите эти три команды для генерации ключа и сертификата

5) В twilio создали новую учетную запись Push и добавили сертификат и ключ путем копирования и вставки

6) SANDBOX не отмечен

7) Изменить CRIDENTIAL SID в серверной части моего сервера

8) Перезапущенный сервер

Я использую автоматическое управление подписью, поэтому я предполагаю, что все должно быть в порядке.

Относительно "APS Environment: production", я предполагаю, что xCode автоматически создаст продукт при загрузке на TestFlight. Я вижу, что оно включено.

Несмотря на все вышесказанное, я все еще получаю эту чертову ошибку APS Environment: production

Я знаю, что решение этой проблемы, в 99% случаев, заключается в восстановлении сертификата, но сейчас я застрял. Я пробовал это уже два раза.

Не уверен, что еще я могу сделать, чтобы решить эту проблему?

enter image description here

1 Ответ

0 голосов
/ 25 января 2019

я пошел по этому пути. это работает как для песочницы, так и для живых.

Для создания сертификата 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.

...