VOIP исходящий вызов из нативного интерфейса вызова - PullRequest
0 голосов
/ 31 декабря 2018

Всякий раз, когда я получаю входящий вызов в своем приложении VOIP, я вижу журналы на своем родном интерфейсе вызовов iPhone.

Я хотел сделать исходящий вызов из собственного журнала iPhone для интерфейса пользователя, нажав последний входящий вызов.Как это работает для WhatsApp, Skype, видеовстречи и т. Д.

Как это возможно для исходящего вызова?

Ниже приведены методы, которые я написал для входящего вызова:

-(void)reportIncomingCall:(NSUUID*)UDID handle:(NSString*)handle;
-(CXCallController*)startCall:(NSUUID*)UDID handle:(NSString*)handle
-(void)connectCallWithCallController:(CXCallController*)controller

Я знаю, что есть еще один метод для исходящего вызова. Но я не знаю, когда вызвать это:

- (NSUUID *)reportOutgoingCallContactIdentifier:(NSString *)identifier destination:(NSString *)name telNumber:(NSString *)telnum 

1 Ответ

0 голосов
/ 31 декабря 2018

При нажатии на элемент в собственном журнале вызовов iOS вызывается функция continueUserActivity делегата приложения.Моя реализация выглядит примерно так в Swift:

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

    self.startCallHandle = userActivity.startCallHandle
    // Cache call handle here, and make call using cached call handle 
    // when applicationDidBecomeActive is called

    return true

}

startCallHandle определяется в файле NSUserActivity + StartCallConvertible.swift, как видно в примере проекта SpeakerBox.

В Info.plist вашего приложения,Вы должны иметь INStartAudioCallIntent и / или INStartVideoCallIntent.Еще раз, посмотрите пример приложения SpeakerBox для деталей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...