Apple PushKit didUpdatePushCredentials is never ca

2019-04-19 13:06发布

I am developing a VoIP app for iPhone. To receive calls, Apple developed PushKit so developers can send VoIP notifications using APNS.

Everything was working fine on iOS 8. When I updated to iOS 9, the PKRegistryDelegate does not fire the method didUpdatePushCredentials after registration.

Any ideas/suggestions?

4条回答
姐就是有狂的资本
2楼-- · 2019-04-19 13:22

If you're running a newer xcode (I'm on xcode 9) then VOIP is not in the Background section on the Capabilities tab. This will prevent didUpdatePushCredentials from being called!

The trick is you have to go in your plist, and in Required Background Modes you need to add App provides Voice over IP services.

enter image description here

查看更多
▲ chillily
3楼-- · 2019-04-19 13:24

Enabling the "Push notification" flag from Project->Capabilities solved my issue. It's strange because it was working without it earlier. This reply maybe late but hopefully this helps someone. I had a hard time figuring this out.

查看更多
smile是对你的礼貌
4楼-- · 2019-04-19 13:32

So I had this problem as well, and spent two days pulling my hair out. I did all of these:

  • clean project turn on / off background modes
  • turn on / off push notifications
  • restart x-code
  • restart computer
  • removed app from device
  • cleaned /Library/Developer/DerivedData
  • then i'd revoke all certificates, removed all provisioning profiles. Removed them even from my keychain. Created everything again and installed it again in keychain and xcode.

All of this did not help.

Then, for some reason i thought, what if i just turn my phone, which i was testing with, off and on again.

and then it worked...

查看更多
女痞
5楼-- · 2019-04-19 13:41

For me It was the issue of Certificates. The development certificate was used by my app, did not configured push in that certificates. Hope this may help anybody..

查看更多
登录 后发表回答