iOS – 我可以打开我的VoIP应用程序使用Callkit回答呼叫?

我打算创build一个iOS的VoIP应用程序(以前没有任何iOS应用程序)。 我正在阅读iOS中的Callkit ,通过它可以使他的应用程序通过iPhone原生通话屏幕接听电话。

我在这里读到Callkit API ,提到可以知道一个电话是否被回答。

通过本教程,这里是检测到呼叫被回答的代码:

-(void)reportIncomingCallWithHandle:(NSString *)handle success:(void (^)())success failure:(void (^)(NSError * error))failure { CXCallUpdate *update = [self newCallUpdateWithHandle:handle]; self.callId = [NSUUID UUID]; [self.provider reportNewIncomingCallWithUUID:self.callId update:update completion:^(NSError * _Nullable error) { if (error) { if (failure) failure(error); } else { if (success) { success(); } } }]; } 

看到成功块。 那么当这个成功块执行的时候,有没有办法打开我的应用程序? 或者我可以覆盖呼叫者屏幕上的默认button来打开我的应用程序?

我知道有没有办法打开一个应用程序收到任何types的通知,或事件触发器。 所以,如果我可以使用Callkit来做同样的事情,那么可能会有一些方法

我谷歌search了一切,但发现我的上述查询没有线索。 如果可能,请帮助我。

我遇到了同样的问题。 该行为取决于设备是否被locking。

  1. locking:出现系统调用屏幕。 您可以在后台运行应用程序,包括视图转换。 但是,用户只能看到系统调用屏幕,尽pipe您的应用程序是在视图下方显示的。 由于设备被locking,深层链接不能正常工作。
  2. 解锁:呼叫屏幕是一样的,但一旦用户接听电话,应用程序将被呈现。

您可能知道,我们可以在打开应用程序的调用屏幕上更改button的图标,这是迄今为止我们所能做的最好的。

您无法从CallKit打开您自己的VoIP应用程序或您的应用程序的自定义UI。 使用可以像Whatsapp一样使用它。

意味着你可以从后台唤醒你的应用程序,而无需使用本地通知。 操作系统将显示默认的传入屏幕。 在通话过程中,您无需处理任何事情。 CallKit是专门为增强VoIP应用程序,通过在后台接听电话,通过拨打电话,pipe理呼叫目录和阻止用户。