2017-01-07 3 views
0

Я просмотрел документацию iOS CallKit, ниже приведен код, предоставленный Apple в разделе «Выполнение исходящих вызовов». Когда я пытаюсь вызвать функцию startOutGoingCall() ничего не происходит, то есть я не вижу пользовательского интерфейса исходящего вызова.Как смоделировать исходящий вызов с использованием iOS Callkit

Может кто-нибудь, пожалуйста, предложите мне, как я могу вызвать пользовательский интерфейс исходящих вызовов.

func startOutGoingCall(){ 
    let uuid = UUID() 
    let handle = CXHandle(type: .emailAddress, value: "[email protected]") 

    let startCallAction = CXStartCallAction(call: uuid) 
    startCallAction.destination = handle 

    let transaction = CXTransaction(action: startCallAction) 
    callController.request(transaction) { error in 
     if let error = error { 
      print("Error requesting transaction: \(error)") 
     } else { 
      print("Requested transaction successfully") 
     } 
    } 
} 

EDIT: Добавлен метод делегата от моего кода

func provider(_ provider: CXProvider, perform action: CXStartCallAction) { 
     logMessage(messageText: "provider:performStartCallAction:") 

     /* 
     * Configure the audio session, but do not start call audio here, since it must be done once 
     * the audio session has been activated by the system after having its priority elevated. 
     */ 
     localMedia?.audioController.configureAudioSession(.videoChatSpeaker) 

     callKitProvider.reportOutgoingCall(with: action.callUUID, startedConnectingAt: nil) 

     performRoomConnect(uuid: action.callUUID, roomName: action.handle.value) { (success) in 
      if (success) { 
       provider.reportOutgoingCall(with: action.callUUID, connectedAt: Date()) 
       action.fulfill() 
      } else { 
       action.fail() 
      } 
     } 
    } 

ответ

4

Там нет исходящего интерфейса вы получаете от CallKit. Когда вы совершаете исходящий звонок, ваше приложение открыто, и поэтому ваше приложение должно показывать пользовательский интерфейс.

Смежные вопросы