Apple PushKit didUpdatePushCredentials никогда не вызывается в iOS 9+

Я разрабатываю приложение для iPhone для iPhone. Чтобы получать звонки, Apple разработала PushKit, чтобы разработчики могли отправлять VoIP-уведомления с помощью APNS.

Все отлично работало на iOS 8. Когда я обновился до iOS 9, PKRegistryDelegate не запускает метод didUpdatePushCredentials после регистрации.

Любые идеи/предложения?

Ответ 1

Включение флага "Push-уведомление" из Project- > Capabilities решило мою проблему. Странно, потому что он работал без него раньше. Этот ответ может быть поздно, но, надеюсь, это помогает кому-то. Мне было трудно понять это.

Ответ 2

Если вы используете новый xcode (я на xcode 9), то VOIP не находится в разделе "Фон" на вкладке "Возможности". Это предотвратит вызов didUpdatePushCredentials!

Фокус в том, что вам нужно зайти в свой слой, а в Required Background Modes вам нужно добавить App provides Voice over IP services.

введите описание изображения здесь

Ответ 3

У меня тоже была эта проблема, и я провел два дня, вытаскивая свои волосы. Я сделал все это:

  • чистый проект включает/выключает фоновые режимы
  • включить/выключить push-уведомления
  • перезапустить x-код
  • перезагрузить компьютер.
  • удаленное приложение с устройства
  • очищено/Library/Разработчик/DerivedData​​li >
  • то я бы отозвал все сертификаты, удалил все профили подготовки. Удалили их даже из моего брелка. Создал все снова и снова установил его в keychain и xcode.

Все это не помогло.

Затем по какой-то причине я подумал, что если я просто верну свой телефон, с которым я тестировал, снова и снова.

а затем он работал...

Ответ 4

Для меня Это был вопрос о сертификатах. Сертификат разработки был использован моим приложением, не настроил нажимать на эти сертификаты. Надеюсь, это может помочь кому угодно.