12

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

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

有什么想法/建议吗?

4

4 回答 4

13

从 Project->Capabilities 启用“推送通知”标志解决了我的问题。这很奇怪,因为它之前没有它工作。这个回复可能迟到了,但希望这对某人有所帮助。我很难弄清楚这一点。

于 2016-08-09T08:33:33.757 回答
4

如果您运行的是较新的 xcode(我使用的是 xcode 9),那么 VOIP 不在“功能”选项卡的“背景”部分中。这将防止didUpdatePushCredentials被调用!

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

在此处输入图像描述

于 2017-10-26T23:18:40.560 回答
2

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

  • 清理项目打开/关闭后台模式
  • 打开/关闭推送通知
  • 重新启动 x 代码
  • 重新启动计算机
  • 从设备中删除应用程序
  • 已清理/库/开发人员/DerivedData
  • 然后我会撤销所有证书,删除所有配置文件。甚至从我的钥匙串中删除了它们。再次创建所有内容并再次将其安装在钥匙串和 xcode 中。

所有这一切都没有帮助。

然后,出于某种原因,我想,如果我只是打开我正在测试的手机,然后再打开,会怎样。

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

于 2017-11-17T04:36:09.580 回答
0

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

于 2017-01-06T05:55:18.703 回答