当用户从 callkit 按下 facetime 按钮时没有委托或通知

There is no delegate or notification when user pressed facetime button from callkit

我有一个应该支持视频通话的 VoIP 应用程序。所以,我打开应用程序,锁定屏幕,然后接听来电。问题是我不知道如何在用户按下 "facetime"(视频通话)按钮时收到通知。基本上用户被引导到应用程序,但没有发生任何事情,因为我确实知道要听什么委托或通知。
我查看了 Skipe 应用程序,当在通话屏幕上按下视频通话按钮时,它似乎会收到通知。因此,当在 Skipe 应用程序中按下 "facetime" 按钮时,用户将被引导至该应用程序并且视频流开始。

简而言之,有人可以指出我应该听哪种委托或通知,以便在用户按下呼叫工具包中的视频按钮时收到通知吗?

根据此 post:,当 phone 锁定时从本机 CallKit 屏幕按下视频按钮时,有一个 AppDelegate 方法通知应用程序。
Objective C委托方法是:

    - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *restorableObjects))restorationHandler

您应该检查是否:

    [userActivity.activityType isEqualToString:@"INStartVideoCallIntent"] 

确定收到的动作是否是启动视频意图。

Swift版本

func application(_ application: UIApplication,
          continue userActivity: NSUserActivity,
          restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {

    if userActivity.activityType == "INStartVideoCallIntent" {
        // treat start video
    }
}