Xcode 9 中缺少 Voip(IP 语音)

Voip(Voice over IP) missing in Xcode 9

我在我的应用程序中使用 pushKit,但 didUpdatePushCredentials 委托从未调用过。 xcode 9 没有 Voice over IP

功能 --> 后台模式 --> IP 语音

我正在关注这个 link..implement pushkit

再次生成了证书,但没有用。

这可能是 Beta 版本中的错误,因为没有官方公告或文章或任何关于从 XCode 9.

兑换 VOIP 后台模式的信息

或者可能一旦你实施 Callkit ,自动考虑 VOIP 后台模式。

建议等待XCode9正式版

更新答案

对于 XCode 9 和 iOS 11,Callkit 是 VOIP 实施的强制性要求。一旦集成 Callkit,后台模式 (VOIP) 将自动激活。

尝试从 WhatsApp 拨打电话,通话记录也将在本机 phone 通话应用程序中提供。

更新答案 -> 您可以手动添加背景模式支持

<key>UIBackgroundModes</key>
<array>
    <string>audio</string>
    <string>voip</string>
    <string>fetch</string>
    <string>remote-notification</string>
</array>

虽然Xcode9正式公布了,但是VoIP功能上还是没有。

我通过打开 Info.plist 作为源代码并手动将 "voip" 添加到 UIBackgroundModes 来解决我的问题。

<key>UIBackgroundModes</key>
<array>
    <string>audio</string>
    <string>voip</string>
    <string>fetch</string>
    <string>remote-notification</string>
</array>

根据 Apple 论坛的讨论,这就是答案

"In iOS 10, you should be using PushKit for handling push notifications for incoming VoIP calls. So when you build your app against the iOS 10 SDK, you need to move over to PushKit (which can be supported all the way back to iOS 8, but once you move to iOS 10 our recommendation is to update your minimum deployment target to iOS 9). "

原来的link答案:https://forums.developer.apple.com/thread/50106

我试验了这些设置,只需要启用 VOIP 作为后台模式。

打开 Info.plist 作为源并添加确保它包含以下内容:

<key>UIBackgroundModes</key>
<array>
     <string>voip</string>
</array>

我还需要像这样启用推送通知: