打开电话拨号盘

时间:2019-08-19 12:19:19

标签: ios swift

我正在尝试通过应用程序拨打电话,但是我想在直接拨打电话之前打开电话拨号盘。但是使用自定义url方案,它将直接调用该数字。

有没有办法打开它?除了CallKit,我没有发现与此相关的任何东西,但是那篇文章实在是太压倒性了。

我尝试过

let url : URL = URL(string: "tel:90634904")!
if UIApplication.shared.canOpenURL(url) {
      UIApplication.shared.open(url, options: [:], completionHandler: nil)
}

我也按照建议尝试了

let url : URL = URL(string: "tel://90634904")!
    if UIApplication.shared.canOpenURL(url) {
          UIApplication.shared.open(url, options: [:], completionHandler: nil)
    }

这两种方法都可以直接拨打电话,而无需打开可编辑它的拨号盘。

1 个答案:

答案 0 :(得分:0)

我已经迅速尝试制作一个带有按钮单击事件以调用的简单应用程序。看下面的代码。

@IBAction func callButtonPressed(_ sender: Any) {
    let phone = 0123456789
    if let url = URL(string: "tel://\(phone)"), UIApplication.shared.canOpenURL(url) {
        if #available(iOS 10, *) {
            UIApplication.shared.open(url)
        } else {
            UIApplication.shared.openURL(url)
        }
    }
}

您需要在info.plist中添加以下内容

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>tel</string>
</array>

我可以看到的输出

Output image

P.S另外,您将需要在实际设备上而不是模拟器上运行它。