[Résolu] - Appeler l'application téléphone dans une application

walslayerwalslayer Membre
octobre 2012 modifié dans Vos applications #1
Bonjour à  tous,



je cherche depuis pas mal de temps à  intégrer une fonctionnalité dans mon application. J'aimerai ajouter la possibilité de lancer un appel téléphonique lorsque l'utilisateur appuie sur un bouton. J'ai cherché dans la librairie d'apple mais je ne trouve pas mon bonheur.



Merci de votre réponse.



Bien cordialement Walslayer.

Réponses

  • CéroceCéroce Membre, Modérateur
    <br />
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@&quot;tel://%@&quot;,myString]]]<br />
    
  • AliGatorAliGator Membre, Modérateur
    octobre 2012 modifié #3
    Normalement y'a même pas besoin des "//" (qui n'ont un sens que dans une URL indiquant un chemin en fait ce qui n'est pas le cas de celles utilisées pour le téléphone ou les SMS), juste "tel:0612345678" donc.



    La doc sur le sujet est ici et contient aussi la doc pour les schemes de SMS, mail, etc
  • Très intéressant cette petite lecture de la RFC 2396 sur les URI, je n'avais jamais fait attention que les URI ne nécessitant pas d'autorité avaient été géré ! Je connaissais le mailto: et le tel: mais je n'avais jamais fait le lien avec les URI et la conception de la RFC.
  • HorusHorus Membre
    octobre 2012 modifié #5
    Moi j'ai utilisé ce code :


    <br />
    - (IBAction)callGEII:(id)sender { // le bouton callGEII qui active l&#39;appel.<br />
    	[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@&quot;tel:0300000000&quot;]]; // la commande avec le numéro.<br />
    }<br />
    




    Donc la méthode d'Ali
  • Merci à  tous pour vos messages. J'ai effectivement suivi le conseil de notre Gourou Ali.



    Voici la fonction que j'utilise (c'est exactement la même que toi horus59153)


    <br />
    -(IBAction)callPhone:(id)sender {<br />
    	NSString *phoneStr = [[NSString alloc] initWithFormat:@&quot;tel: +33380524563&quot;];<br />
    	NSURL *phoneURL = [[NSURL alloc] initWithString:phoneStr];<br />
    	NSLog(@&quot;test appel&quot;);<br />
    	[[UIApplication sharedApplication] openURL:phoneURL];<br />
    }<br />
    
  • AliGatorAliGator Membre, Modérateur
    @walslayer: Attention dans ton exemple, tu as une espace entre "tel:" et le début de ton numéro en "+33". Il faut supprimer cette espace.



    En iOS4 et iOS5 il me semble qu'ils sont encore un peu laxistes sur le sujet, mais en iOS6 ils se sont un peu + conformés à  la RFC officielle pour se rapprocher des standards, du coup si tu as une espace dans ta chaà®ne représentant ton URL, si tu essayes de construire un NSURL avec cette chaà®ne il risque de te retourner nil (car à  cause de l'espace, la chaà®ne est invalide d'après la RFC)
  • Je te remercie pour l'information. Bonne journée.
Connectez-vous ou Inscrivez-vous pour répondre.