在 Swift 中打开带有自动填充号码的 phone 应用
Open phone app with auto populated number in Swift
有没有办法使用 swift 打开 phone 应用程序?我看到的所有答案都是像 this 一样使用 UIApplication.shared.open(urlNumber)
。但它不会打开 phone 应用程序,而是会创建一个弹出窗口和一个 cancel
或 call
选项。
这是我的预期输出
我现在使用的代码是
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)
}
有没有办法使用 swift 打开 phone 应用程序?我看到的所有答案都是像 this 一样使用 UIApplication.shared.open(urlNumber)
。但它不会打开 phone 应用程序,而是会创建一个弹出窗口和一个 cancel
或 call
选项。
这是我的预期输出
我现在使用的代码是
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)
}