使用openURL的'#'结尾

时间:2017-03-14 07:18:39

标签: ios swift swift3

let x = dpadtxt.text! + "#"
let url = URL(string: ("tel://23456712561,2#,\(x)"))!
UIApplication.shared.openURL(url)

当我在字符串的末尾添加#时,它会给我这个错误:

  

致命错误:在解包可选值时意外发现nil

1 个答案:

答案 0 :(得分:2)

查看Apple URL Scheme参考documentation,您可以在其中阅读有关如何使用电话号码编码的信息。

在该文件中,您可以阅读......

  

防止用户恶意重定向电话或更改   手机或帐户的行为,手机应用程序支持最多,但   不是全部,电话方案中的特殊字符。具体来说,如果   URL包含*或#字符,Phone应用程序不会尝试   拨打相应的电话号码。如果您的应用收到了网址   来自用户或未知来源的字符串,您还应该确保   任何可能不适合在URL中的特殊字符   逃脱得当。对于原生应用,请使用   stringByAddingPercentEscapesUsingEncoding:NSString的方法   转义字符,返回正确转义的版本   原始字符串。

您必须使用类似

的编号对String编号
let phone: NSString =  "tel://23456712561,2#,#"

if let phone = phone.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed)
{
    print(phone)
}

请检查我的NSCharacterSet是否正确,因为我现在无法在设备上测试它。