无法在 iOS 13 中阻止 VoIP 呼叫?

Not possible to block VoIP calls in iOS 13?

CallKit 的呼叫目录扩展可用于阻止标准 phone 呼叫。 然而,阻止 VoIP 呼叫应该如何与 iOS 13 一起使用?

当有 VoIP 呼叫时,您的应用会收到 VoIP 推送,但现在 iOS13 Apple 强制要求收到推送后,应用 必须 调用CXProvider.reportNewIncomingCall()

但是,当调用 reportNewIncomingCall() 时,OS 会显示来电屏幕(这与常规来电不同)。显然不可能抑制此呼叫屏幕,即使调用 reportNewIncomminCall() 的参数是一个已注册为已被 CallKit 扩展阻止的号码,呼叫屏幕仍会显示。

因此应用程序似乎不可能提供阻止 VoIP phone 呼叫的能力(除非应用程序将其阻止的号码列表发送到服务器,并且服务器不发送推送特定手机以阻止号码。但是,如果该应用程序安装在数十万或数百万部手机中,则服务器端实施起来是一项艰巨的任务。

我与一位 Apple Voip 工程师有一些通信往来。 Apple 期望如果您需要阻止 Voip 呼叫,那么您需要在服务器上执行此操作,而不是手机。