本文介绍了如何使用 openURL 在 Swift 中拨打电话?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经将用于拨打电话的代码从 Objective-C 转换为 Swift,但是在 Objective-C 中,我们可以像这样设置我们想要打开的 URL 的类型(例如电话、短信、网络):

I have converted the code for making a phone call from Objective-C to Swift, but in Objective-C, we can set the type of the URL that we like to open (e.g. telephone, SMS, web) like this:

@"tel:xx"
@"mailto:[email protected]"
@"http://stackoverflow.com"
@"sms:768number"

Swift 中的代码是:

The code in Swift is:

UIApplication.sharedApplication().openURL(NSURL(string : "9809088798")

我读到没有为 tel: 发布任何方案参数,但我不知道 Swift 是否可以检测该字符串是否用于拨打电话、发送电子邮件或打开网站.或者我可以写:

I read that have not released any scheme parameter for tel:, but I don't know if Swift can detect if the string is for making a phone call, sending email, or opening a website. Or may I write:

(string : "tel//:9809088798")

?

推荐答案

我很确定你想要:

UIApplication.sharedApplication().openURL(NSURL(string: "tel://9809088798")!)

(请注意,在您的问题文本中,您输入的是 tel//:,而不是 tel://).

(note that in your question text, you put tel//:, not tel://).

NSURL 的字符串 init 需要一个格式正确的 URL.它不会将一堆数字变成电话号码.您有时会在 UIWebView 中看到电话号码检测,但这是在比 NSURL 更高的级别上完成的.

NSURL's string init expects a well-formed URL. It will not turn a bunch of numbers into a telephone number. You sometimes see phone-number detection in UIWebView, but that's being done at a higher level than NSURL.

添加!每条评论在下面

这篇关于如何使用 openURL 在 Swift 中拨打电话?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-19 01:04