Xcode 9 中缺少 Voip(IP 语音)

Posted

技术标签:

【中文标题】Xcode 9 中缺少 Voip(IP 语音)【英文标题】:Voip(Voice over IP) missing in Xcode 9 【发布时间】:2017-07-11 04:57:28 【问题描述】:

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

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

我正在关注这个链接..implement pushkit

证书再次生成但不工作。

【问题讨论】:

我的应用程序也使用 PushKit,如果使用 Xcode 9(当前为 beta 5)构建,则不再工作。我看到推送消息到达 ios 系统控制台(APSCourier Received message for enabled topic '...' with payload...)但消息永远不会到达我的应用程序中的 didReceiveIncomingPushWithPayload。 【参考方案1】:

虽然 Xcode 9 已正式发布,但功能上仍然没有 VoIP。

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

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

【讨论】:

这是正确的解决方案,voip 功能不再存在。添加此项将启用对 didUpdateCredentials 的调用。 已在 plist 中添加,但仍未显示在功能中 @VineeshTP 虽然它没有显示在功能中,但它仍然有效。 非常感谢。这行得通。我不明白为什么他们从功能中删除了“IP 语音”选项,否则我们将无法接收令牌。我以为我在代码中遗漏了一些东西,但添加 voip 是可行的。再次感谢。【参考方案2】:

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

“在 iOS 10 中,您应该使用 PushKit 来处理传入 VoIP 呼叫的推送通知。因此,当您针对 iOS 10 SDK 构建应用程序时,您需要转移到 PushKit(可以一直支持到 iOS 8,但一旦您迁移到 iOS 10,我们的建议是将您的最低部署目标更新到 iOS 9)。"

答案原文链接:https://forums.developer.apple.com/thread/50106

【讨论】:

【参考方案3】:

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

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

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

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

【讨论】:

【参考方案4】:

这可能是 Beta 版中的一个错误,因为没有官方公告或文章或任何关于从 XCode 9 兑换 VOIP 后台模式的内容。

或者一旦你实现了Callkit,VOIP后台模式就会自动考虑。

我建议等待 XCode 9 正式版。

更新答案

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

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

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

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

【讨论】:

您有任何支持链接吗? @hasya 不,我在拿到官方 XCode 9 和 iOS 11 后才明白这一点。

以上是关于Xcode 9 中缺少 Voip(IP 语音)的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 9.2 中缺少标头搜索路径、库路径和链接路径部分

从 Xcode 9 构建中缺少所需的图标文件

Xcode 9. 界面生成器。缺少已安装的复选标记

Xcode 9.4.1 上传 App Store 时缺少 App Store 图标

错误 ITMS-90086 缺少 64 位支持 Xcode 6.4 和 Cordova 2.9.1

iOS开发 Xcode10报错缺少libstdc++.6.0.9.tbd