Bonjour,
J’ai un numéro de téléphone au format : +33 1 23 45 67 89 que j’affiche dans une vue.
J’aimerai que lorsque l’utilisateur appui dessus, le numéro de téléphone se compose directement.
J’ai essayé de le mettre en place avec :
Link("+33 1 23 45 67 89", destination: URL(string: "tel:+33 1 23 45 67 89")!)
et avec
let strNumber = "+33 1 23 45 67 89"
Button(action: {
let tel = "tel://"
let formattedString = tel + strNumber
guard let url = URL(string: formattedString) else { return }
UIApplication.shared.open(url)
}) {
Text("+33 1 23 45 67 89")
}
mais aucun des deux ne fonctionne.
Y aurait il une syntaxe particulière à respecter pour le numéro de téléphone?
Essaie de remplacer les espaces par des points ou juste de les retirer.
Déjà essaye…
J’ai tenté sur un numéro standard (0601…), avec et sans espaces, avec points, avec trait d’union…
Rien n’y fait je ne comprends pas pourquoi
Salut @PapaRoack
Essaie avec ça :
struct ContentView: View {
var body: some View {
Button(action: {
call()
}, label: {
Text("Call")
})
}
func call() {
if let url = URL(string: "tel:+33"),
UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
}
}
Bonjour, juste un truc, tu testes bien sur un véritable périphérique? Car cela ne fonctionne pas sur simulateur…
2 « J'aime »
J’ai essayé, et toujours rien… Je ne comprends pas d’où vient le soucis
@jcbremond oui je suis bien sur un telephone réel
Tu travailles avec quelle version de swift/Xcode ?
Avec swift 5.3 la syntaxe est maintenant :
UIApplication.shared.open(NSURL(string: "tel://555-123-1234")! as URL)
Je suis en Swift 5 sous Xcode 13.4.1
J’ai vraiment essayé toute les syntaxe, je ne vois pas d’ou cela peut venir
Bonsoir,
Je suis sous Xcode 13.4.1
Je viens de créer un nouveau projet.
Le seul code que j’ai saisi est le suivant (dans la ContentView):
import SwiftUI
struct ContentView: View {
var body: some View {
Button {
callMe()
} label: {
Text("Call me !")
}
}
func callMe() {
UIApplication.shared.open(NSURL(string: "tel://555-123-1234")! as URL)
}
}
Je lance l’app sur mon iPhone via Xcode.
Quand je clique sur le bouton « Call me », j’ai bien deux options qui s’affichent en bas de l’écran (appeler ou annuler).
Et quand je choisis d’appeler,… ça appelle !
Cordialement,
Nicolas
Bonjour,
Je viens de l’intégrer à l’instant et cela fonctionne également pour moi!