旧版 VoIP API 在 iOS 11/12/13/14 中是否仍然可用?

问题描述

在 iOS 8 之前,VoIP 应用程序可以在启动后自动在后台启动。这要求应用在 voip 键中包含 UIBackgroundModes 值,如 here 所述。 iOS 8 用 PushKit 取代了这个系统,PushKit 是一种架构,它使用来自 Apple 的推送通知服务 (APNs) 的推送通知来通知应用程序有来电。有了这个系统,VoIP 应用程序不需要自动启动,所以这个功能被删除了。如 Apple 的 documentation 所述,旧 API 一直可用,直到 iOS 9 SDK 正式弃用。它在 iOS 10 中作为兼容性措施提供,假设应用程序是使用较旧的 SDK 构建的,但不包含在 iOS 10 SDK 中。但是,该文档页面上有一条通知,表示可以申请例外以继续在 iOS 10 及更高版本上使用旧系统。这是否意味着理论上可以在 iOS 11-14 上使用旧系统?

作为一些附加信息,iOS 13 更改了 VoIP,因此 PushKit 呼叫通知必须由 CallKit 处理,否则 iOS 将拒绝提供未来的 PushKit 通知。这可以通过 com.apple.developer.pushkit.unrestricted-voip 权限绕过,如 here 所示。思科已为此记录了 problems。在同一份文档中,它表示从 2020 年 8 月起 Cisco Jabber 不再支持对旧版 VoIP API 的支持,但这似乎是一种开发选择,而不是 Apple 的原因。

我想要使用旧架构的主要原因是能够在启动时自动启动应用程序。无需注册 APNs 也是一个好处。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)