Уведомление APNS не доставляется (код ошибки 8)

Когда я пытаюсь выполнить push-уведомление на сервере, я получаю следующую ошибку:

com.notnoop.exceptions.ApnsDeliveryErrorException: Failed to deliver notification with error code 8

Мой сервер является приложением Java. Странно, что тот же самый файл WAR сервера работает нормально локально (уведомления отправляются), но он не работает (с ошибкой выше), когда я развертываю его на удаленном сервере (RedHat openshift.com).

Вот что я делаю:

  1. В Xcode я заархивирую свое приложение и экспортирую его для Ad Hoc распространения с использованием профиля обеспечения распространения. Профиль содержит право "aps-environment production".
  2. В Центре разработчиков Apple я загружаю производственный сертификат iOS APN, импортирую его в свою цепочку ключей iMac и экспортирую файл p12.
  3. Я развертываю файл.p12 на своем сервере, где использую библиотеку https://github.com/notnoop/java-apns для выполнения push-уведомлений Apple. Библиотека инициализируется так:

APNS.newService (). WithCert(certificateInputStream,"пароль").withProductionDestination(). WithDelegate(this).build();

  1. При запуске клиентское приложение успешно регистрируется для push-уведомлений и получает токен.
  2. Когда сервер пытается выполнить push-уведомление, генерируется исключение: com.notnoop.exceptions.ApnsDeliveryErrorException: не удалось доставить уведомление с кодом ошибки 8

Вы можете помочь? Что может быть причиной того, что такая же установка работает на локальном компьютере, но не работает на удаленном сервере?

1 ответ

Решение

Это оказалось еще одной ошибкой. Сервер содержал старый файл развертывания (войны), который по-прежнему указывал на среду APNS песочницы. После того, как я переместил вручную, проблема исчезла.

Другие вопросы по тегам