一尘不染

如何使用openURL在Swift中打个电话?

swift

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

@"tel:xx"
@"mailto:info@example.es"
@"http://stackoverflow.com"
@"sms:768number"

Swift中的代码是:

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

我读到尚未为释放任何scheme参数tel:,但我不知道Swift是否可以检测该字符串是否用于拨打电话,发送电子邮件或打开网站。或者我可以写:

(string : "tel//:9809088798")


阅读 255

收藏
2020-07-07

共1个答案

一尘不染

我很确定您想要:

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

(请注意,在问题文本中,您放置了tel//:,而不是tel://)。

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

编辑:添加!每个评论如下

2020-07-07