2017-03-13 10 views
1

に失敗しました、これは私のコードです:swift3 - canOpenURL:私は意思に電話をしたいURL電話

if let urlMobile = NSURL(string: "tel://076938483"), UIApplication.shared.canOpenURL(urlMobile as URL) { 

       if #available(iOS 10.0, *) { 
        UIApplication.shared.open(urlMobile as URL, options: [:], completionHandler: nil) 
       } 
       else { 
        UIApplication.shared.openURL(urlMobile as URL) 
       } 
      } 

私がそうするように迅速3を使用していますが、私はこのエラーを取得:

-canOpenURL: failed for URL: "tel://09178883828" - error: "The operation couldn’t be completed. (OSStatus error -10814.)" 

これを行うにはどうすればよいですか?

+2

あなたはiOSシミュレータ上でテストしているべきでしょうか?それは可能ではありません、あなたは物理的なデバイスでテストする必要があります。 –

答えて

4

コードは完全に正常に動作します。シミュレータを使用している場合は、実際のデバイスで実行してください。 Mac/MacBookで通話をシミュレートすることはできません。

アップルのマニュアルでSimulator Hardware Actionsをご覧ください。

1

URLは次のようになります。

if let urlMobile = NSURL(string: "tel:///076938483"), UIApplication.shared.canOpenURL(urlMobile as URL) { 
2

一部LSApplicationQueriesSchemeは、シミュレータ上では動作しません。エラーコード-10814はkLSApplicationNotFoundErrです。シミュレータが起動できませんダイヤルパッド電話。だからiPhoneのデバイス上でそれを実行します。

これは私のために働いた!

コードは

if let url = NSURL(string: "tel://\(yourNumber)"), UIApplication.shared.canOpenURL(url as URL) { 
    UIApplication.shared.open(url as URL, options: [:], completionHandler: nil) 
} 
関連する問題