NSURL

yafouyafou Membre
16:19 modifié dans API UIKit #1
Bonjour à  tous,
chouette le nouveau look.

Je lance l'application sms et Email et j'ai deux pb:

pour le sms, le numéro ne doit pas contenir des espaces et moi je récupére les numéro depuis le carnet d'adress, que dois-je faire... supprimer simplement les espaces ?

de même pour les email:
si ma chaine est par exemple:
<br />mrmr@yahoo.fr;?subject=Titre?body=contenu avec espace...<br />


l'application se lance pas car le body contient un espace?
koi faire,
Merci.

Réponses

  • NoNo Membre
    16:19 modifié #2
    Concernant le lien pour l'envoi du mail, la syntaxe de ton lien est foireuse.
    Il y a un point-virgule parasite après l'adresse email, et il ne doit y avoir qu'un seul point d'interrogation (après l'adresse). Les autres paramètres (comme body dans ton exemple) sont séparés par des perluètes (&).

    Pour les espaces, il faut les remplacer par des "%20" :

    <br />mrmr@yahoo.fr?subject=Titre&amp;body=contenu%20avec%20espace...<br />
    

  • yafouyafou Membre
    16:19 modifié #3
    c'est bon je l'ai corrigé , Merci.

    et pour le numéro de tél ? (les espaces)
  • NoNo Membre
    avril 2009 modifié #4
    Faudrait vraiment apprendre à  lire la doc Apple toi même...

    <br />NSString *tel1=@&quot;01 02 03 04 05&quot;;<br />NSString *tel2;<br /><br />tel2=[tel1 stringByReplacingOccurrencesOfString:@&quot; &quot; withString:@&quot;&quot;];<br />// ou<br />tel2=[tel1 stringByReplacingOccurrencesOfString:@&quot; &quot; withString:@&quot;-&quot;];<br />// ou<br />tel2=[tel1 stringByReplacingOccurrencesOfString:@&quot; &quot; withString:@&quot;.&quot;];<br />// etc...<br />
    
  • AliGatorAliGator Membre, Modérateur
    avril 2009 modifié #5
    dans 1238598250:

    Faudrait vraiment apprendre à  lire la doc Apple toi même...
    Je plussoie d'autant plus qu'il y a aussi la solution pour le coup des espaces.
    Il ne faut pas "remplacer les espaces par des %20" (ça c'est une vision simpliste, et ça ne suffit pas, et surtout va pas te prendre le chou à  le faire à  la main), alors qu'il y a tout ce qu'il faut dans la classe NSString !
    NSString* dest = @&quot;toto@example.com&quot;;<br />NSString* subject = &quot;Bonjour le monde&quot;;<br />NSString* body = @&quot;Bonjour je suis un texte avec un espace &amp; des caractères interdits dans les URLs ! Mais quel est le problème ?&quot;;<br /><br />// rajouter les %20 à  la place des espaces, mais encode aussi les &amp; et ? et autres trucs qui doivent être encodés pour faire une URL valide.<br />NSString encSubject = [subject stringByAddingPercentEscapesUsingEncoding:NSISOLatin1StringEncoding];<br />NSString encBody = [body stringByAddingPercentEscapesUsingEncoding:NSISOLatin1StringEncoding];<br /><br />// Construire l&#39;URL<br />NSURL* url = [NSURL URLWithString:[NSString stringWithFormat:@&quot;mailto:%@?subject=%@&amp;body=%@&quot;,dest, encSubject,encBody]];
    
  • yafouyafou Membre
    16:19 modifié #6
    Bonjour,
    J'ai essayé les deux méthodes mais l'apllication Email ne se lance pas.
    J'ai mis un NSLog et voile le résultat:



    mailto:;?subject=Titre1&body=Bonjour2          0x3014e680lease        4.933577e-77lp.



    bizzare ! il ya tj un espace accompagné de caractérers...
  • NoNo Membre
    16:19 modifié #7
    Ton url est moche :
    - pas d'adresse email après le mailto,
    - présence du ; parasite (alors que je te l'ai déjà  fait remarquer avant),
    - et bien sûr le reste ne vaut pas mieux.

    Comme je subodore que tu ne sais pas lire la doc Apple sur les NSStrings, et donc en conséquence, tu ne sais pas coder, je pense que ton code qui est construit l'url est pourri.
  • yafouyafou Membre
    16:19 modifié #8
    dans 1238675164:

    Ton url est moche :
    - pas d'adresse email après le mailto,
    - présence du ; parasite (alors que je te l'ai déjà  fait remarquer avant),
    - et bien sûr le reste ne vaut pas mieux.

    Comme je subodore que tu ne sais pas lire la doc Apple sur les NSStrings, et donc en conséquence, tu ne sais pas coder, je pense que ton code qui est construit l'url est pourri.


    STP NO, si tu vois prochainement mes questions n y répond plus !
    Pas besoin de tes commendataires inutiles.

    Ben concernant la virgule, je te fais apprendre que ça ne gène pas et je m'en sers pour envoyer le même mail à  plusieurs personnes donc dans le destinataire tu trouve plusieurs @ séparé par des ";".
    Voilà 
    ";" n'est pas un parasite, c'est plutôt tes réponses qui ressortent du cadre d'un forum.

    Merci pour Ali, je m'en ai servit de votre réponse
    @+

  • NoNo Membre
    avril 2009 modifié #9
    dans 1238681445:

    STP NO, si tu vois prochainement mes questions n y répond plus !
    Pas besoin de tes commendataires inutiles.


    commendataires inutiles ?
    Pas tant que cela.

    Le problème est que les contributeurs réguliers de ce forum passe leur temps à  ré écrire ce qui est par ailleurs écrit dans la doc Apple.
    Dans tes questions initiales, tu as été aiguillé sur des réponses possibles.

    Mais au lieu, me semble t'il, d'aller consulter la doc, tu as insisté sur le comment faire...
    Dans ce cas, puisque nous devons tout t'expliquer de A à  Z, attends toi à  subir nos réflexions...

    Enfin, c'est tout aussi agaçant d'avoir des posts qui disent que ça marche pas, sans donner la moindre ligne de code. Et c'est au contributeur régulier, une fois de plus, d'essayer de deviner ce que tu as bien pu faire dans ton code...

    Alors parfois, je craque.

    Dernière chose, sur ce forum, ce sera toujours à  celui qui demande d'être humble, et non pas à  ceux qui te répondent.
    Si ce mode de fonctionnement ne te plait pas, lis réellement la doc Apple, puis reviens avec de vrais questions.
  • yafouyafou Membre
    16:19 modifié #10
    dans 1238683030:

    Dernière chose, sur ce forum, ce sera toujours à  celui qui demande d'être humble, et non pas à  ceux qui te répondent.
    Si ce mode de fonctionnement ne te plait pas, lis réellement la doc Apple, puis reviens avec de vrais questions.


    Non, si ta réponse serait mal présentée, je préfère que tu te la garde.
    Et ça c'est dans tous les forums. Rien ne t'oblige à  répondre.

    Concernant le reste, ben vous avez raison... Lire la doc c'est très utile.

    @+
  • muqaddarmuqaddar Administrateur
    16:19 modifié #11
    Hum, hum...

    Je pense qu'il faut savoir accepter les propos d'un membre compétent et reconnu, aussi froids soient-ils. No passe des heures à  aider les débutants comme toi. Alors son ton est cordial dans les premières réponses où en général il essaie de mettre les débutants sur la piste plutôt que de donner des réponses toutes faites qui n'aident pas à  faire marcher les méninges...

    Merci de faire attention à  bien lire la doc avant de demander des réponses toutes faites...

    Après, il faut aussi faire attention à  ne pas se priver des réponses de 3 des meilleurs membres et plus dévoués au site comme No, Ali ou encore Philippe49. Et ne pas oublier que ça leur rapporte rien. Merci.
  • yafouyafou Membre
    avril 2009 modifié #12
    dans 1238686736:

    Hum, hum...

    Je pense qu'il faut savoir accepter les propos d'un membre compétent et reconnu, aussi froids soient-ils. No passe des heures à  aider les débutants comme toi.


    Les meilleurs réponse sont toujours chez Ali.
    Il prend son temps pour répondre et il est tj cool !!!

    : ))
  • muqaddarmuqaddar Administrateur
    16:19 modifié #13
    Mais tout le monde est cool ici... C'est pas parce qu'il n'y a pas de smileys qu'ils ne sont pas cools.

    Et puis en tant que débutant, il faut savoir accepter des réflexions plus sèches et plus carrées car elles nous remettent en place et nous aident à  progresser... et on voit aussi tout le chemin qu'il nous reste à  parcourir.
  • yafouyafou Membre
    16:19 modifié #14
    dans 1238688394:

    Mais tout le monde est cool ici... C'est pas parce qu'il n'y a pas de smileys qu'ils ne sont pas cools.


    Reçu 5/5.

  • AliGatorAliGator Membre, Modérateur
    16:19 modifié #15
    D'autant que pour l'instant j'ai du temps pour répondre, mais, d'une ça ne sera pas toujours le cas donc je ne ferai pas tjs des réponses aussi exhaustives, et de deux je suis comme No, je veux bien expliquer au début les bases, car je veux bien entendre que y'a des concepts qui sont un peu abstraits pour certains et les expliquer à  ma manière peux aider (quand j'ai le temps de le faire, de plus bénévolement)... mais on n'est pas là  pour mâcher le travail de tout le monde.

    Quand j'ai du temps comme ça pour répondre, j'ai souvent tendance à  donner bcp de détails au point que le travail est mâché, et ce n'est pas une bonne chose car cela n'apprend pas à  ceux qui ont posé la question à  faire la démarche d'eux-même et d'apprendre à  chercher dans la doc ou à  faire le raisonnement et donc savoir le réappliquer pour d'autres cas. C'est ainsi que pour la première fois, souvent je veux bien expliquer à  ma manière les trucs, mais à  force de réitérer, ça peux commencer à  me saouler aussi...

    Donc n'en prenez pas habitude ;)
    D'autant que l'intérêt du forum ce sont aussi les outils de recherche ;)
Connectez-vous ou Inscrivez-vous pour répondre.