在iOS 9+上永远不会调用Apple PushKit didUpdatePushCredentials

时间:2016-01-18 21:49:44

标签: ios iphone apple-push-notifications voip pushkit

我正在为iPhone开发VoIP应用程序。为了接听电话,Apple开发了PushKit,因此开发人员可以使用APNS发送VoIP通知。

在iOS 8上一切正常。当我更新到iOS 9时,PKRegistryDelegate在注册后不会触发方法didUpdatePushCredentials

有任何想法/建议吗?

4 个答案:

答案 0 :(得分:13)

从Project-> Capabilities启用“推送通知”标志解决了我的问题。这很奇怪,因为它早先没有它。这个回复可能会迟到,但希望这有助于某人。我很难搞清楚这一点。

答案 1 :(得分:4)

如果你正在运行一个较新的xcode(我在xcode 9上),那么VOIP不在Capabilities选项卡的Background部分中。这样可以防止调用didUpdatePushCredentials

诀窍是你必须进入你的plist,并且在Required Background Modes中你需要添加App provides Voice over IP services

enter image description here

答案 2 :(得分:2)

所以我也遇到了这个问题,花了两天时间拔掉头发。我做了所有这些:

  • 清理项目打开/关闭背景模式
  • 打开/关闭推送通知
  • 重新启动x-code
  • 重新启动计算机
  • 从设备中移除了应用
  • cleaning / Library / Developer / DerivedData
  • 然后我撤销所有证书,删除所有配置文件。甚至从我的钥匙串中删除它们。再次创建所有内容并在keychain和xcode中再次安装。

所有这一切都无济于事。

然后,由于某种原因,我想,如果我只是转动手机,我正在测试,关闭再打开

然后它起作用了......

答案 3 :(得分:0)

对我来说这是证书的问题。我的应用程序使用了开发证书,没有配置推送证书。希望这可以帮助任何人..