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

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

На iOS 8 все работало нормально. Когда я обновился до iOS 9, PKRegistryDelegate не срабатывает метод didUpdatePushCredentials после регистрации

Есть идеи / предложения?

4 ответа

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

Если вы используете более новый xcode (я использую xcode 9), тогда VOIP отсутствует в разделе Background на вкладке Capabilities. Это предотвратит didUpdatePushCredentials от вызова!

Хитрость в том, что вы должны войти в свой список, и в Required Background Modes вам нужно добавить App provides Voice over IP services,

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

  • чистый проект включить / выключить фоновые режимы
  • включить / выключить push-уведомления
  • перезапустить X-код
  • Перезапустить компьютер
  • удалено приложение с устройства
  • cleaned / Библиотека / Разработчик /DerivedData
  • тогда я бы отозвал все сертификаты, удалил все профили обеспечения. Убрал их даже из моего брелка. Снова создал все и снова установил в связку ключей и xcode.

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

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

и тогда это сработало...

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

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