Обновление сертификата распространения iOS и Push-уведомлений - PullRequest
0 голосов
/ 20 февраля 2019

Сегодня утром я попытался загрузить новую сборку с некоторыми исправлениями ошибок для моего iOS-приложения в AppStore. Архивирование бинарного файла прошло успешно, но я не смог загрузить его в itunesConnect для публикации.Ошибка была связана с некоторым сертификатом распространения, поэтому я получил подсказку об этой проблеме.

Проходя через Keychain Access, я увидел, что мой сертификат распространения iOS только что истек утром.

Iзалогинился в моей учетной записи разработчика и создал новый сертификат распространения и установил его в мою связку ключей. Но после этого нового сертификата мои push-уведомления больше не работают.

Я не получаю никаких push-уведомлений (с полезной нагрузкой или простым уведомлением) в моем приложении.Я могу видеть уведомления и данные полезной нагрузки в журналах.

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

Я зарегистрировал уведомление иполезная нагрузка в didReceive remoteMessage метод в Appdelegate.Но didReceiveRemoteNotification никогда не вызывается.

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

Xcode версии 10.1 (10B61) - Swift 4.2 - TestDevice iPhone X с iOS 11.2.6

Ответы [ 3 ]

0 голосов
/ 20 февраля 2019

Вы можете перейти по этой ссылке для push-сертификата.

Для тестирования push-уведомлений вы можете использовать Pusher

0 голосов
/ 20 февраля 2019

Хорошо, я исправил проблему, удалив любой из существующих экземпляров сертификатов, связанных с моим ЭТОМ приложением, в Доступе из цепочки для ключей и со страницы сертификатов в учетной записи разработчика.

Из идентификаторов приложений на странице «Сертификаты» учетной записи dev перенастроить SSL-сертификаты push-уведомлений для моего приложения путем создания одного онлайн, загрузки, установки в цепочки для ключей, экспорта сертификата .p12 и загрузки в настройки проекта firebase.Повторите то же самое для производственных SSL-сертификатов.

Я использую клиент POSTMAN для отправки уведомлений Data Payload в мое приложение, и оно работает сейчас.Сейчас я получаю все уведомления без проблем.

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

0 голосов
/ 20 февраля 2019

Вам необходимо создать файл .pem, используя новый распределенный сертификат, а затем использовать этот файл pem для получения push-уведомлений.

Создать файл .pem (следуйте инструкциям из этого поста)

https://blog.serverdensity.com/how-to-build-an-apple-push-notification-provider-server-tutorial/

Проверка онлайнового push-уведомления с использованием файла pem

http://apns -gcm.bryantan.info /

ИЛИ

https://www.logisticinfotech.com/send-push-notification-online/

...