处理电话:voip app中的链接

时间:2016-10-11 20:38:41

标签: ios voip callkit

iOS中是否存在任何方法(也许是CallKit?),VoIP应用程序可以注册以处理tel:links?这样当用户选择电话号码时(例如在safari中)。他们将有两个选项来完成通话。

2 个答案:

答案 0 :(得分:1)

今天iOS中不存在这种功能。如果您对此感兴趣,我建议您在Apple的Bug Report网站上提交错误报告。

答案 1 :(得分:1)

这些天来,如果按住tel:链接,iOS上将支持此功能。但是,它不使用标准的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
  }