Приложение iOS Sinch: определение, получает ли приложение видео или голосовой вызов - PullRequest
0 голосов
/ 28 июня 2018

Я интегрировал видеозвонок с голосовым вызовом в проекте «Свифт». Но проблема в том, что в appDelegate у меня есть функция didReceiveIncomingCall. Как я могу поместить некоторый код в эту функцию, чтобы определить, является ли вызов голосовым вызовом, чтобы показать voiceCallVC, или является ли вызов videoCall, чтобы показать VideoVC.

  func client(_ client: SINCallClient!, didReceiveIncomingCall call: SINCall!) {


        var top = self.window?.rootViewController

        while (top?.presentedViewController != nil) {
            top = top?.presentedViewController
        }

        let videoVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "videoVC") as! VideoCallVC
        videoVC._call = call
        top?.present(videoVC, animated: true, completion: nil)

        let callVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "CallVC") as! VoiceCallVC
        callVC._call = call
        top?.present(callVC, animated: true, completion: nil)
    }

1 Ответ

0 голосов
/ 28 июня 2018

Вы можете проверить значение Bool 'call.details.isVideoOffered'

Вот код для этого

    func client(_ client: SINCallClient!, didReceiveIncomingCall call: SINCall!) {

     var top = self.window?.rootViewController

     while (top?.presentedViewController != nil) {
        top = top?.presentedViewController
       }
        if (call.details.isVideoOffered)
        {
            let videoVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "videoVC") as! VideoCallVC
            videoVC._call = call
            top?.present(videoVC, animated: true, completion: nil)
        }
        else{
            let callVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "CallVC") as! VoiceCallVC
           callVC._call = call
           top?.present(callVC, animated: true, completion: nil)
        }

  }
...