Уведомление APNS не доставляется (код ошибки 8)
Когда я пытаюсь выполнить push-уведомление на сервере, я получаю следующую ошибку:
com.notnoop.exceptions.ApnsDeliveryErrorException: Failed to deliver notification with error code 8
Мой сервер является приложением Java. Странно, что тот же самый файл WAR сервера работает нормально локально (уведомления отправляются), но он не работает (с ошибкой выше), когда я развертываю его на удаленном сервере (RedHat openshift.com).
Вот что я делаю:
- В Xcode я заархивирую свое приложение и экспортирую его для Ad Hoc распространения с использованием профиля обеспечения распространения. Профиль содержит право "aps-environment production".
- В Центре разработчиков Apple я загружаю производственный сертификат iOS APN, импортирую его в свою цепочку ключей iMac и экспортирую файл p12.
- Я развертываю файл.p12 на своем сервере, где использую библиотеку https://github.com/notnoop/java-apns для выполнения push-уведомлений Apple. Библиотека инициализируется так:
APNS.newService (). WithCert(certificateInputStream,"пароль").withProductionDestination(). WithDelegate(this).build();
- При запуске клиентское приложение успешно регистрируется для push-уведомлений и получает токен.
- Когда сервер пытается выполнить push-уведомление, генерируется исключение: com.notnoop.exceptions.ApnsDeliveryErrorException: не удалось доставить уведомление с кодом ошибки 8
Вы можете помочь? Что может быть причиной того, что такая же установка работает на локальном компьютере, но не работает на удаленном сервере?
1 ответ
Это оказалось еще одной ошибкой. Сервер содержал старый файл развертывания (войны), который по-прежнему указывал на среду APNS песочницы. После того, как я переместил вручную, проблема исчезла.