问题描述
我已经将用于拨打电话的代码从 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 中拨打电话?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!