我已经将拨打电话的代码从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是否可以检测该字符串是否用于拨打电话,发送电子邮件或打开网站。或者我可以写:
tel:
(string : "tel//:9809088798")
?
我很确定您想要:
UIApplication.sharedApplication().openURL(NSURL(string: "tel://9809088798")!)
(请注意,在问题文本中,您放置了tel//:,而不是tel://)。
tel//:
tel://
NSURL的字符串init要求使用格式正确的URL。它不会将一堆数字变成一个电话号码。有时您会在UIWebView中看到电话号码检测,但这是在比NSURL更高的级别上完成的。
编辑:添加!每个评论如下