2017-07-27 65 views
0

這是我用來打電話的代碼。但由於無效號碼而崩潰。 11位數字以6次崩潰開始 但11位數字以0開頭的數字正常工作 正常情況下10位數字正常工作。 任何人都可以幫忙嗎?iOS Swift調用因手機號碼無效而崩潰

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

如果當前的答案沒有解決您的問題;我的問題是:應用崩潰了什麼? – benhameen

回答

1

修改代碼以防止死機: -

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

如果您myurl是零,然後它會崩潰,因爲它會迫使 解開價值。

1

問題:什麼表達myurl!如果myurl是零呢?

答案:感嘆號會讓它崩潰。故意地。

所以啓動你的調試器。設置一個斷點,然後遍歷每一行。檢查相關變量。很可能你會發現myurl是零。如果沒有,請逐行逐行瀏覽代碼,並告訴我們確切發生崩潰的位置。