【问题标题】:iOS Swift call Crashes because of Invalid mobile number由于手机号码无效,iOS Swift 通话崩溃
【发布时间】:2017-07-27 18:25:12
【问题描述】:

这是我用来拨打电话的代码。但它因为无效号码而崩溃。 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!)
        }
    }

【问题讨论】:

  • 如果当前的答案不能解决您的问题;我的问题是:应用程序在哪一行崩溃?

标签: ios swift phone-number phone-call


【解决方案1】:

修改你的代码以防止崩溃:-

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

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

【讨论】:

    【解决方案2】:

    问题:myurl! 这个表达式是什么意思?如果 myurl 为零怎么办?

    Answer:感叹号会导致崩溃。故意地。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-07
      • 1970-01-01
      • 2017-10-16
      • 1970-01-01
      • 2015-04-30
      • 1970-01-01
      • 2021-09-16
      • 2011-04-19
      相关资源
      最近更新 更多