2016-06-20 17 views
0

Hallo Ich habe Knopf Aktion für die Rufnummer, aber wenn ich es nicht anrufen und nichts zeigt.Anruf Telefon Aktion funktioniert nicht in swift

Meine Codes unten.

@IBAction func callPhone(sender: AnyObject) { 
     UIApplication.shared().canOpenURL((NSURL(string: "tel://1234567890")! as URL)) 
    } 

Vielen Dank!

+0

Entfernen Sie die Zeichen // – Paulw11

+0

@ Paulw11 Nö nicht arbeiten – SwiftDeveloper

+1

Ihr Code funktioniert. Es tut einfach nicht das, was du denkst. : p – Moritz

Antwort

10

Proper Swift 3.0-Code

if let url = URL(string: "tel://\(phoneNumber)") { 
     UIApplication.shared().open(url, options: [:], completionHandler: nil) 
    } 

In Swift 3.0 NSURL haben URL geändert. Und sharedApplciation geändert zu shared. Auch OpenURL geändert zu open, haben sie eine Reihe andere Parameter zur open Methode hinzugefügt, können Sie leeres Wörterbuch in options und nil in der completionHandler übergeben.

+0

Vielen Dank, dude arbeitete, ich denke, wird vielen helfen Leute – SwiftDeveloper

+1

Jetzt ist es UIApplication.shared.open ... –

1

Versuchen Sie diese Antwort.

@IBAction func callPhone(sender: AnyObject) { 

      if let url = NSURL(string: "tel://9069118117") { 

      UIApplication.sharedApplication().openURL(url) 

     } 
    } 
+0

Nein, arbeite nicht brauchen schnelle 3 Codes. – SwiftDeveloper

1

Bitte versuchen Sie folgenden Code zu verwenden, um Ihr Problem zu lösen.

if let url = NSURL(string: "tel://\(1234567890)") { 
    UIApplication.sharedApplication().openURL(url) 
} 
+0

, wenn ich diesen Code aufrufen, aber gibt mir gelbe Warnung, dass "'openURL' in iOS 10 veraltet war.0: Bitte verwenden Sie openURL: Optionen: completionHandler: stattdessen " – SwiftDeveloper

+0

Es funktioniert ich in mein Projekt verwenden. –

+0

Sie mit Swift 3 mit den neuesten Xcode und iOS 10? – SwiftDeveloper

1

bitte beachten:

  • tel: // versuchen, die Telefonnummer direkt anzurufen;
  • telprompt: // zeigt Ihnen einen Warnruf

ab iOS 10 Openurl deprecated zu bestätigen;

@available (iOS, eingeführt: 2.0, veraltet: 10,0, Meldung: "Bitte benutzen Sie openURL: Optionen: completionHandler: Statt") offen func openURL (_ url: URL) -> Bool

so i Rat diesen Codeblock zu verwenden, auch < 9 iOS zu unterstützen:

if #available(iOS 10, *) { 
    UIApplication.shared.open(yourURL) 

    // if you need completionHandler: 
    //UIApplication.shared.open(yourURL, completionHandler: { (aBool) in }) 

    // if you need options too: 
    //UIApplication.shared.open(yourURL, options: [:], completionHandler: { (aBool) in }) 

} else { 
    UIApplication.shared.openURL(number) 
} 
0

neuesten Xcode, Neueste Swift worki ng-Codes.

Verwendung telprompt://nichttel

let myphone = "+134345345345" 

if let phone = URL(string:"telprompt://\(myphone)"), UIApplication.shared.canOpenURL(url) { 
      UIApplication.shared.openURL(url) 
     } 
+0

Dies zeigt zwei Schaltflächen (Abbrechen & Anrufen) - gibt es eine Möglichkeit, eine Kopfzeile hinzuzufügen Das würde die Nummer Nummer oben zeigen? Ich habe gesehen, dass Apps das tun, aber ich kann keine Dokumentation darüber finden. – enlightenedOne