0

iOS(可能是CallKit)中是否有任何方法可以让VoIP应用程序注册以处理电话:链接?这样当用户选择电话号码时(例如在 Safari 中)。他们将看到两个选项来完成通话。

4

2 回答 2

1

今天的 iOS 中不存在该功能。如果您对此感兴趣,我建议您提交错误报告以在 Apple 的错误报告网站上请求它。

于 2016-10-12T16:14:59.207 回答
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
  }
于 2018-12-20T18:04:33.867 回答