在 Swift 中打开带有自动填充号码的 phone 应用

Open phone app with auto populated number in Swift

有没有办法使用 swift 打开 phone 应用程序?我看到的所有答案都是像 this 一样使用 UIApplication.shared.open(urlNumber)。但它不会打开 phone 应用程序,而是会创建一个弹出窗口和一个 cancelcall 选项。

这是我的预期输出

我现在使用的代码是

guard let number = URL(string: "tel://" + "+639123123123") else { return }
UIApplication.shared.open(number, options: [:], completionHandler: nil)

但正如我所说,它没有打开 phone 应用程序,并且该代码的输出是这样的,这不是我所期望的。

Android在here实现了,ios怎么样?

如果没有对话,则无法直接打开 phone 应用程序。根据 Apple's documentation 的 openURL:

openURL

When a third party application invokes openURL: on a tel://, facetime://, or facetime-audio:// URL, iOS displays a prompt and requires user confirmation before dialing.

这对我来说非常有效,而且您不必添加任何额外的操作 sheet 或警报。一个动作sheet自动弹出

@objc private func didTapCall() {
    let numberString = self.phoneText.text!
    guard let url = URL(string: "telprompt://\(numberString)") else { return }
    UIApplication.shared.open(url, options: [:], completionHandler: nil)
}