[xCode - Obj-C/C++] Application SMS

Ich'

Membre confirmé
18 Mars 2011
15
0
Bonjour à tous,

Alors comme dit brièvement dans le titre, je cherche à faire une application sous mac/iPhone.
Alors je sais qu'il existe des applications proposant ce que je veux faire (j'ai pas trop trop fouillé mais de celles que je connais ça ne fait pas exactement ce que je VEUX sinon peut-être des payantes sur lesquelles je ne suis pas tombé encore).


Mon Projet
---------------------

Je souhaite en fait réaliser une application permettant de voir les messages (sms dans un premier temps puis pourquoi pas les MMS par la suite) reçus sur l'iPhone sur l'application créée sur Mac et de pouvoir aussi en émettre.

Alors en fait pour cela j'ai je pense deux solutions possibles :


  • Solution 1 : Une seule application - sur le Mac - qui va détecter les appareils branchés par USB et plus particulièrement les iPhones. A partir de là, on peut commencer à communiquer avec le périphérique et récupérer puis envoyer les informations voulues.
  • Solution 2 : Deux applications. Une sur le Mac et l'autre sur l'iPhone. Il faudrait en fait activer les deux pour qu'elle puissent correspondre via le wifi par exemple. Et là de même on peut commencer à traiter.



Mockup'
---------------------


---------------------



Mes Raisons
---------------------

Bah c'est pas bien compliqué.
Tout simplement parce que je correspond beaucoup par messages texte et mails travaillant dans l'informatique. Et j'en ai simplement assez de switch entre l'iPhone et le Mac. Et puis à avoir une application, autant la faire, je me suis dit que ça me ferait un bon projet.

Mes Questions
---------------------


  • Alors je voudrais savoir déjà quelle est pour vous la meilleure approche à adopter ?
  • Suivant la méthode, connaissez vous une librairie qui permet de détecter/communiquer avec les périphériques USB ou iPhone à partir d'un Mac ? (j'ai essayé mais sans vraiment comprendre comment gérer libusb si vous pensez que ça suffit et connaissez aidez-moi s'il vous plaît)
  • Par quel moyen vais-je pouvoir récupérer les SMS/MMS reçus et en envoyer des nouveaux ? Ou simplement comment récupérer des informations présentes sur l'iPhone (puisque les SMS sont bien stockés quelque part en mémoire) ?
  • Que langage utiliser (bon Objective-C si je fais une API iPhone) mais sur le Mac ? Objective-C ? C++ ?


Merci à toutes les personnes qui m'auront lu et surtout à celles qui s’apprêtent à me répondre.
 
Là comme ça, à moins de travailler sur un iPhone jailbroken, ça m'a l'air impossible.
Le max que j'aie réussi à faire sur iPhone au niveau des SMS, c'est de pouvoir pré-remplir un champ d'écriture SMS vers un/des numéros définis ; en clair, ça te rentre le(s) destinataire(s), ça te remplit le contenu du message, mais ça t'affiche la vue standard d'envoi de SMS et il faut l'envoyer manuellement depuis l'iPhone.
Je me suis pas penché plus que ça sur le sujet, mais je suis quasiment sûr que tu ne peux pas accéder aux SMS stockés sur le téléphone, pour des raisons de sécurité... ça serait inquiétant que n'importe quelle appli puisse accéder à ce type de données.

Après, si tu as vraiment envie de chercher un profondeur, ça doit être possible en jailbreakant mais va falloir mettre les mains dans la merde.
 
Ok merci à tous les deux.
Ralala ces soucis de confidentialité.... ^^
M'enfin je crois que je suis foutu. Oui j'imagine avec un iPhone jailbreaké ça doit pouvoir se trouver mais bon tu me vois mettre sur mon API (ne fonctionne que sur un iPhone jailbreaké :D) mouai moyen....

Sinon Rez2a tu as dis quelque chose d'intéressant. Tu disais avoir pré-rempli les champs sms (bon du coup l'application existe déjà je l'utilise mais bon ça me fera un petit projet pour commencer). Comment tu t'es débrouillé ?
 
Regarde du côté du framework MessageUI, qui sert à utiliser l'envoi de mails et de SMS.

Sinon le code est pas compliqué à mettre en place :


if([MFMessageComposeViewController canSendText])
{
MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
controller.body = @"Texte";
controller.recipients = [NSArray arrayWithObjects:mad:"0102030405", @"0607080910", nil];
controller.messageComposeDelegate = self;
[self presentModalViewController:controller animated:YES];
[controller release];
}
 
Alors merci, je suis allé voir de ce côté là.
J'ai bien linké le framewok.

Par contre après avoir mis ce code :
Bloc de code:
#import <Foundation/Foundation.h>
#import <MessageUI/MessageUI.h>

@interface smsSender : MFMailComposeViewController   {
    
}
Je ne peux pas faire en sorte que ma classe smsSender hérite de MFMessage.....
Pourtant le .h existe dans MessageUI.h j'ai vérifié.
Je ne peux même pas créer un objet MFMessage.. mais par contre MFMail.. je peux !

Et puis quand je compile en incluant cet import bah il plante parce que dans le MF*.h il y a cette ligne qui va pas : "#import <UIKit/UIKit.h>"

Une idée d'où ça vient ?
 
Dernière édition:
Pourquoi veux-tu faire hériter ta classe de MFMessageComposeVC ?
Je te conseille de jeter un oeil au mécanisme de catégories, ici : http://macdevelopertips.com/objective-c/objective-c-categories.html
Ça te permet d'ajouter des méthodes à des classes dont tu ne disposes pas du code source, ça suffira peut-être à faire ce que tu veux... cela dit, si tu fais ça dans le but d'essayer de contourner les systèmes de protection mis en place par Apple, commence à préparer un gros chèque pour les équipes de validation de l'App Store. :D
 
Non non mais je ne souhaite pas contourner le soucis d'Apple.
Jusque là je souhaite faire un peu ce que tu as fait, pré-remplir les zones de texte (numéro + message).

J'ai un soucis aussi en fait pour linker réellement d'où elle est.
En fait je bosse sous Xcode 4 et la librairie MessageUI est là : "/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/System/Lib*rary/Frameworks/MessageUI.framework". Et j'arrive pas à la linker à mon projet....?
 
Ok mais dans ce cas tu n'as pas besoin de faire hériter ta classe de MFMessageComposeVC, déclare simplement smsSender comme une sous-classe de UIViewController, et ensuite tu n'auras qu'à instancer un objet de MFMessageComposeViewController.

[Edit]
Je remarque un truc, tu bosses avec le SDK 3.1 ?
Je crois (sans certitude) que l'envoi de SMS in-app a été implémenté avec le SDK 4.0.
 
Dernière édition:
J'ai tous les SDKs par contre comment tu vois lequel tu utilise au niveau du prog ?
Ca me perturbe encore un peu Xcode 4 ^^
Je vais tester UIViewController là :D
 
Je sais pas, mais il me semble que certain opérateur propose de gérer ses msg avec une interface web...
Avec la possibilité de voir la messagerie vocale visuelle, les textos, les mms... Et aussi d'en envoyer...
Et aussi, la possibilité, de voir les sms reçu et envoyé...
Ptet plus simple pour recup le fil de la discution...
Je pense que ce serait mieux de passer par la.. Sinon tu n'auras pas de support avec les Framework officiels et la durdur...
 
Je sais pas, mais il me semble que certain opérateur propose de gérer ses msg avec une interface web...
Avec la possibilité de voir la messagerie vocale visuelle, les textos, les mms... Et aussi d'en envoyer...
Et aussi, la possibilité, de voir les sms reçu et envoyé...
Ptet plus simple pour recup le fil de la discution...
Je pense que ce serait mieux de passer par la.. Sinon tu n'auras pas de support avec les Framework officiels et la durdur...

Très intéressant ce que tu me dis là. Et tu as entendu ça d'où?
Parce que ça serait la solution ultime pour moi. Et oui il est évident que les messages sont stockés quelque part :D
Donc c'est vrai que si il y a un accès mais à mon avis là ça devient d'une grande complexité parce qu'il faut surement un accord avec les différents opérateurs non pour que l'appli ait accès aux serveur de messages du client ?
 
C'est un pote qui m'avait parlé de ca sur le portail sfr.
Il m'avait qu'il pouvait faire ca en plus de personnalisé la messagerie selon le correspondant...
Si je peux trouver plus d'infos la dessus je t'en parle.
Mais passer un accord avec un opérateur pour acceder au serveur sms, etc... Ca c'est trop chaud je pense, ils voudront jamais...
Par contre utilisé leur interface web pour faire ton appli, "suffira" de parser les pages de leur portail dans le pire des cas pour l'utiliser comme interface avec ton appli... Ce n'est pas non plus super simple...

---------- Nouveau message ajouté à 23h45 ---------- Le message précédent a été envoyé à 23h41 ----------

Genre chez orange, quand je me connecte sur le portail, dans l'onglet SMS/MMS J'ai:
BIENVENUE SUR LE SERVICE SMS/MMS!
Profitez des nombreux avantages du service avec :
  • l'envoi et la consultation de vos SMS et MMS
  • la personnalisation de vos MMS
  • la possibilité de choisir vos correspondants dans votre carnet d'adresse
  • la large capacité de stockage et la gestion de vos SMS et MMS
  • l'autorisation de réponse à vos SMS ou MMS sur Internet ou sur votre mobile
 
oui mais dans les conditions d'utilisation je crois comprendre qu'il te facture les sms 0,10&#8364; (même si tu as un forfait illimité SMS/MMS), et que si le mec n'est pas chez orange, il ne reçoit pas le sms avec ton numéro mais un numéro de service...
Donc l'idéal serait quand même d'utiliser des librairie non-officielle sur un iphone Jailbreaké et de l'utiliser pour l'envoi des SMS de l'application...
 
oui mais dans les conditions d'utilisation je crois comprendre qu'il te facture les sms 0,10€ (même si tu as un forfait illimité SMS/MMS), et que si le mec n'est pas chez orange, il ne reçoit pas le sms avec ton numéro mais un numéro de service...
Donc l'idéal serait quand même d'utiliser des librairie non-officielle sur un iphone Jailbreaké et de l'utiliser pour l'envoi des SMS de l'application...
Bah juste l'envoi ça peut se faire avec des librairies officielles.
Mais de voir les messages reçus et autres oui il faut un jailbreak préalable je pense.

Ouai non le coût supplémentaire c'est pas bon..