AdHoc build не получает push-уведомлений - PullRequest
14 голосов
/ 29 сентября 2010

Я разрабатываю push-уведомления для моего приложения, я написал провайдер на PHP, и он работает нормально.Ранее я тестировал push-уведомления с моими сборками dev и сервером песочницы от Apple, и все работало нормально, сейчас я пытаюсь заставить его работать со сборкой AdHoc, но я никогда не получаю никаких сообщений на телефон.Вот что я сделал:

  • Включите производственные push-уведомления для приложения, создайте сертификат, загрузите его, создайте PEM, следуя инструкциям здесь , и загрузите его на мой сервер.Сконфигурировал мой PHP Script для использования gateway.push.apple.com и порта 2195 для подключения и проверки его, подключение к серверу работает как положено.
  • Расположение полезной нагрузки такое же, как и у devи запись в поток работает
  • После активации Production APN я воссоздал свой профиль обеспечения AdHoc и проверил после сборки, что в aps-среде с правами доступа установлено значение "production" (что это такое)
  • Установил приложение через AdHoc на устройстве, которое раньше не запускало приложение. Меня спрашивают, разрешать ли PN, нажимаю «да», и мой сервер получает токен, как и положено.
  • Пытался отправить сообщение (который должен быть отправлен на 3 устройства) через производственную среду.Нет ошибки при подключении к Apple или при отправке данных, но я не получаю push-уведомление ни на одном из устройств.

У меня действительно нет идей, что может быть не так, у кого-нибудь естьидея?Большое спасибо!

Ответы [ 4 ]

30 голосов
/ 18 января 2011

Я наконец понял это, проблема в том, что если вы открываете соединение с APNS и отправляете более одного push-уведомления И один из отправляемых токенов не является токеном, действительным для этого сертификата (например, вы отправляете через токен, который принадлежит экземпляру dev, хотя он и связан с производственным сертификатом), APNS отменяет доставку всех PN, отправленных вами в этом пакете. По крайней мере, это то, что я испытал до сих пор, так что убедитесь, что вы всегда держите свои жетоны разработки и разработки хорошо разделенными:)

1 голос
/ 04 июня 2014

Пуш сертификаты на производство и разработку разные.А для изготовления более сложных устройств токены для производства и песочницы различны для одного и того же устройства.Перепроверьте, верны ли они, и я уверен, что вы, должно быть, ошиблись в этом.Чтобы получить токен устройства в производственном режиме, напишите представление оповещения в событии AppDelegate didreceivenotifications.

Получив этот токен, вы поймете, что он отличается от создаваемого нами токена dev, поэтому вы не смоглиотправить уведомление на PROD

0 голосов
/ 08 декабря 2010

Для распространения и выпуска сборки всегда используйте производственный сертификат.

0 голосов
/ 28 ноября 2010

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

...