Push-уведомления iOS, полученные только устройствами разработки - PullRequest
0 голосов
/ 13 апреля 2019

У меня есть приложение, которое отправляет некоторые push-уведомления, на самом деле все работает как брелок, и push-уведомления на мои устройства принимаются без проблем.

Я следовал инструкциям здесь для разработки и использовал библиотеку pushok для разработки на стороне сервера.

Но я понял, что ни одно из моих уведомлений не получено другими устройствами; только устройства, которые я зарегистрировал как устройства разработки, получают их.

Device tokens правильно, либо запуск приложения через USB из Xcode или установка из AppStore дают тот же токен, но он работает только на моих устройствах.

У вас есть идея?

UPDATE

Я использую Auth Token для APNS вместо аутентификации на основе сертификатов, поэтому в рабочей или песочнице нет опций. Но все равно я не могу получить кроме устройств разработки.

Ответы [ 2 ]

1 голос
/ 14 апреля 2019

Убедитесь, что вы используете правильные сертификаты APNS для разных конфигураций.

Приложения, работающие на устройствах разработки, будут в отладочной конфигурации, и его сертификат APNS будет указывать на gateway.sandbox.push.apple.com

Appstore будет в выпускеконфигурация и ее сертификат APNS будут указывать на gateway.push.apple.com , а не на изолированную.

Итак, проверьте свои сертификаты.

NWPusher - отличный инструмент для тестирования Push-уведомлений с использованием только cert и deviceTokens без какого-либо кода.Надеюсь, это поможет вам.

0 голосов
/ 19 апреля 2019

Я нашел проблему;как упомянуто в разделе обновления вопроса, я не использовал APNS на основе сертификатов, поэтому песочница или производственные сертификаты не были проблемой.Я использовал Auth Token Key для APNS, и нет никакой разницы между песочницей или производством.

Кроме того, в библиотеке pushok есть флаг для производства или песочницы, который я пропустил и забыл в песочнице.Когда я перепроверил документацию для pushok, я увидел код ниже

$client = new Client($authProvider, $production = false);

Изменение на $production = true решило мою проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...