Ich versuche, eine Nummer anzurufen, die keine bestimmten Nummern verwendet, sondern eine Nummer, die in einer Variablen angerufen wird, oder sie zumindest anzuweisen, die Nummer in Ihrem Telefon aufzurufen. Diese Nummer, die in einer Variablen aufgerufen wird, ist eine Nummer, die ich mithilfe eines Parsers oder durch Abrufen von einer Website-SQL abgerufen habe. Ich habe eine Taste gedrückt, um die in der Variablen gespeicherte Telefonnummer mit einer Funktion anzurufen, aber ohne Erfolg. Alles wird helfen, danke!
func callSellerPressed (sender: UIButton!){
//(This is calls a specific number)UIApplication.sharedApplication().openURL(NSURL(string: "tel://######")!)
// This is the code I'm using but its not working
UIApplication.sharedApplication().openURL(NSURL(scheme: NSString(), host: "tel://", path: busPhone)!)
}
quelle
Eine eigenständige Lösung in iOS 10, Swift 3 :
Sie sollten in der Lage sein
callNumber("7178881234")
, einen Anruf zu tätigen.quelle
Swift 4,
quelle
Swift 3.0 und ios 10 oder älter
quelle
Okay, ich habe Hilfe bekommen und es herausgefunden. Außerdem habe ich ein nettes kleines Warnsystem eingerichtet, falls die Telefonnummer nicht gültig ist. Mein Problem war, dass ich es richtig anrief, aber die Nummer hatte Leerzeichen und unerwünschte Zeichen wie ("123 456-7890"). UIApplication funktioniert oder akzeptiert nur, wenn Ihre Nummer ("1234567890") lautet. Sie entfernen also im Grunde das Leerzeichen und ungültige Zeichen, indem Sie eine neue Variable erstellen, um nur die Zahlen abzurufen. Ruft dann diese Nummern mit der UIApplication auf.
quelle
Die obigen Antworten sind teilweise richtig, aber mit "tel: //" gibt es nur ein Problem. Nachdem der Anruf beendet wurde, kehrt er zum Startbildschirm zurück, nicht zu unserer App. Wenn Sie also "telprompt: //" verwenden, kehren Sie zur App zurück.
quelle
Swift 3, iOS 10
quelle
options: [:], completionHandler: nil
Sind die Standardargumente, können Sie sie weglassen.Ich verwende diese Methode in meiner Anwendung und sie funktioniert einwandfrei. Ich hoffe das kann dir auch helfen.
quelle
In Swift 3
quelle
Ich verwende eine Swift 3-Lösung mit Nummernvalidierung
quelle
Swift 5: iOS> = 10.0
Funktioniert nur auf physischen Geräten.
quelle
Dies ist ein Update von @ Toms Antwort mit Swift 2.0. Hinweis - Dies ist die gesamte CallComposer-Klasse, die ich verwende.
quelle
openURL () ist in iOS 10 veraltet. Hier ist die neue Syntax:
quelle
Swift 3.0-Lösung:
quelle
Hier ist eine alternative Möglichkeit, eine Telefonnummer mithilfe eines
Scanner
…quelle
Für schnelle 3.0
quelle
quelle
quelle
Viele der anderen Antworten funktionieren nicht für Swift 5. Nachfolgend finden Sie das Code-Update für Swift 5:
PS:
quelle
Swift 3.0 und iOS 10+
UIApplication.shared.openURL(url)
wurde geändert inUIApplication.shared.open(_ url: URL, options:[:], completionHandler completion: nil)
Optionen und Vervollständigungshandler sind optional und rendern:
UIApplication.shared.open(url)
https://developer.apple.com/reference/uikit/uiapplication/1648685-open
quelle
Gehen Sie für einen Swift 3.1- und abwärtskompatiblen Ansatz folgendermaßen vor:
quelle
Wenn Ihre Telefonnummer Leerzeichen enthält, entfernen Sie diese zuerst! Dann können Sie die Lösung der akzeptierten Antwort verwenden.
quelle