由于手机号码无效,iOS Swift呼叫崩溃

时间:2017-07-27 18:25:13

标签: ios swift phone-number phone-call

这是我用来打电话的代码。但由于号码无效而崩溃。 11位数字从6次崩溃开始 但11位数字从0开始工作正常 通常10位数工作正常。 有人可以帮忙吗?

let myurl=URL(string: "tel://\(selectedEmployeeContact)")
    let isInstalled=UIApplication.shared.canOpenURL(myurl!)
    if(isInstalled)
    {
        if #available(iOS 10.0, *) {
            UIApplication.shared.open(myurl!)
        } else {
            UIApplication.shared.openURL(myurl!)
        }
    }

2 个答案:

答案 0 :(得分:1)

问题:myurl的表达是什么!如果myurl是零?

答案:感叹号会让它崩溃。故意地。

所以启动你的调试器。设置断点,然后逐步执行每一行。检查相关变量。很可能你会发现myurl是零。如果没有,请逐行逐步执行代码并告诉我们崩溃发生的确切位置。

答案 1 :(得分:1)

修改代码以防止崩溃: -

guard let myurl=URL(string: "tel://\(selectedEmployeeContact)") else {return}
let isInstalled=UIApplication.shared.canOpenURL(myurl)
  

如果你的myurl是零,那么它会崩溃,因为它会强制   解开了价值。