这是我用来打电话的代码。但由于号码无效而崩溃。 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!)
}
}
答案 0 :(得分:1)
问题:myurl的表达是什么!如果myurl是零?
答案:感叹号会让它崩溃。故意地。
所以启动你的调试器。设置断点,然后逐步执行每一行。检查相关变量。很可能你会发现myurl是零。如果没有,请逐行逐步执行代码并告诉我们崩溃发生的确切位置。
答案 1 :(得分:1)
修改代码以防止崩溃: -
guard let myurl=URL(string: "tel://\(selectedEmployeeContact)") else {return}
let isInstalled=UIApplication.shared.canOpenURL(myurl)
如果你的myurl是零,那么它会崩溃,因为它会强制 解开了价值。