2016-12-23 64 views
-1

我需要我的應用程序在用戶點擊按鈕時撥打電話。我發現一些教程和那裏的人說使用此代碼Swift 3中的電話按鈕不起作用

let numberUrl = URL(string: "tel://12345678")! 
UIApplication.shared.open(numberUrl, options: [:], completionHandler: nil) 

但它只是不起作用。它在Swift 3中改變了嗎?

+0

你測試是在模擬器上? – Sulthan

+0

在真實設備上 – xcocoader

+0

'tel'網址沒有斜槓。 – rmaddy

回答

5

UPDATE

嘗試使用調用此代碼。 代碼適用於所有iOS版本

雨燕2.0

let url = URL(string: "tel://123456789")! 
UIApplication.shared.openURL(url) 

雨燕3.0

let url = URL(string: "tel://123456789")! 
UIApplication.shared.open(url) 
+0

但Xcode說我openURL已被棄用在iOS 10 – xcocoader

+0

沒有它對我的工作罰款甚至不顯示警告已棄用。 –

+0

不推薦使用。 cmd +點擊打開(url),它將導航到文檔,它顯示它在ios10中可用 – Apogee

0

在您的真實設備中嘗試這種方式,模擬器不會撥打電話。

let phoneUrl = "tel://45657657" //your url 
     if let url = URL(string: phoneUrl){ 
      if #available(iOS 10.0, *) { 
       UIApplication.shared.open(url, options: [:]) 
      } else { 
       // Fallback on earlier versions 
      } 
     } 
1

根據您的意見,您要處理棄用警告。

if #available(iOS 10, *) { 
    UIApplication.shared.open(numberUrl) 
} else { 
    UIApplication.shared.openURL(numberUrl) 
} 
-1

試試這個...

let url:URL = URL(string: "tel:\(phone_number)")! 
    let application:UIApplication = UIApplication.shared 
    if (application.canOpenURL(url)) { 
     if #available(iOS 10, *) { 
      application.open(url) 
     } else { 
      application.openURL(url) 
     } 
    } 
+0

是的,檢查檢查應用程序是否可以打開url的條件 –

+0

請停止upvoting彼此的東西。並且請只發布有用的答案。這就是我所說的。誠實,公平,併發布尚未發佈一千次的好內容。 – Moritz

+0

是的,@KiranSarvaiya。您和Rishu應該標記爲重複*而不是*再次發佈相同的內容。 – Moritz