Обработка тел: ссылки в приложении voip

#ios #voip #callkit

#iOS #voip #callkit

Вопрос:

Есть ли какой-либо метод в iOS (CallKit? возможно) где приложение VoIP может зарегистрироваться для обработки ссылок tel:? Таким образом, когда пользователь выбирает номер телефона (например, в Safari). Им будут представлены два варианта завершения вызова.

Ответ №1:

В настоящее время это поддерживается в iOS, если вы нажимаете и удерживаете tel: ссылку. Однако он не использует стандартную систему схемы URI. CallKit, похоже, автоматически регистрирует ваше приложение в качестве обработчика tel: ссылок, если вы объявляете поддержку телефонных звонков, и ссылка передается через следующее событие:

 import Intents

protocol SupportedStartCallIntent {
  var contacts: [INPerson]? { get }
}

extension INStartAudioCallIntent: SupportedStartCallIntent {}
extension INStartVideoCallIntent: SupportedStartCallIntent {}

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, CXProviderDelegate {

  func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
    let interaction = userActivity.interaction
    let startCallIntent = interaction?.intent as? SupportedStartCallIntent
    if let contact = startCallIntent?.contacts?.first?.displayName {
      // do what you want with 'contact'
    }
    return true
  }
  

Ответ №2:

Сегодня в iOS такой возможности нет. Если вас это интересует, я рекомендую отправить отчет об ошибке, чтобы запросить его на веб-сайте Apple Bug Report.