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 в этих сертификатах. Надеюсь, что это может помочь кому-нибудь..