Integration twitter/ facebook connect

CoharsCohars Membre
Bonjour à  tous,

Je sais que ce problème est assez souvent soulevé, mais j'ai un peu du mal à  trouver mon bonheur. Il y a beaucoup de sujets avec des liens morts ou des liens obsolètes.

Donc je cherche comment implémenter twitter et facebook, simplement pour poster un message pré-enregistrer, avec un score.

J'ai regarder MGTwitterEngine ou Sharekit, mais je ne pense pas qu'ils soient vraiment adaptés. Pour facebook je n'ai rein trouvé :/

Merci.

Réponses

  • BunoBuno Membre
    04:55 modifié #2
    Hello,
    Si c'est pour du partage sur le mur de l'utilisateur, ShareKit fait très bien l'affaire pour Facebook, Twitter, et plein d'autres.
  • CoharsCohars Membre
    juillet 2011 modifié #3
    J'ai 56 warnings avec ShareKit quand je compile. ça m'embête un peu.

    EDIT :
    Exemple :

    if (self = [super init])
    


    warning : "Suggest parentheses around assignment used as true value"

    Si je met :

    if ((self = [super init]))
    


    L'erreur disparait...
  • BunoBuno Membre
    04:55 modifié #4
    Tu es donc sous Xcode 4  :P
    Si ce n'est que des warnings de la même trempe, y'a pas de soucis, tu peux y aller avec ShareKit (d'ailleurs, libre à  toi de corriger ces warnings)
  • gibet_bgibet_b Membre
    04:55 modifié #5
    Et dans iOS 5, Apple va faciliter grandement l'intégration de Twitter. Cela étant dit, je n'ai pas encore regardé comment cela va fonctionner.
  • CoharsCohars Membre
    04:55 modifié #6
    Oui je suis sous xCode 4, par e que c'est normal ce genre de warning ?
    Je les ai corrigé, j'ai ajouté des parenthèses. Il me reste 30 warnings.

    Mais je crois aussi qu'il y en a des plus importantes,


    • warning: Deprecations: 'font' is deprecated

    _closeButton.font = [UIFont boldSystemFontOfSize:12];
    


    J'ai aussi des choses que je ne comprend absolument pas :

    • warning: Semantic Issue: Assigning to 'id<NSXMLParserDelegate>' from incompatible type 'FBXMLHandler *'

    parser.delegate = handler;
    


    •waring : No previous prototype for 'hmac_sha1'

    void hmac_sha1(const unsigned char *inText, size_t inTextLength, unsigned char* inKey, size_t inKeyLength, unsigned char *outDigest)<br />{
    


    Enfin je ne vais pas faire une liste détaillée, mais ça ne fait pas très propre ;)
  • CoharsCohars Membre
    04:55 modifié #7
    Il y un truc qui m'interpèle,

    if (self = [super init])
    


    Là  j'ai le warning avec les parenthèses.

    Mais la logique ne voudrait-elle pas deux signes "==" dans un if ?

    Merci

    EDIT :
    ça me retire le warning quand je met deux "=" mais c'est quand même pas un erreur ?!
  • AliGatorAliGator Membre, Modérateur
    04:55 modifié #8
    dans 1310418353:

    Il y un truc qui m'interpèle,

    if (self = [super init])
    


    Là  j'ai le warning avec les parenthèses.

    Mais la logique ne voudrait-elle pas deux signes "==" dans un if ?

    Merci

    EDIT :
    ça me retire le warning quand je met deux "=" mais c'est quand même pas un erreur ?!
    Eh bien ta remarque montre que... tu as compris le warning ;-)

    En effet justement le compilateur s'attend à  trouver un "==" et pas un simple "=" dans un if. C'est pour cela qu'il te remonte le warning, pour te dire " heu c'est peut-être un oubli de ta part tu as peut-être mis un "=" par erreur alors que tu voulais mettre "==" ? ".
    La solution est :
    * soit de mettre la vraie condition explicitement, à  savoir que ce que tu veux réellement tester c'est si, une fois l'affectation de self à  [super init], si ce self résultat est nil :
    if ( nil != (self = [super init]) )
    

    * soit même pour être plus clair de séparer ces deux bouts d'instructions pour rendre le tout plus lisible :
    self = [super init];<br />if (self != nil) ...
    

    * mais sinon, tu peux aussi plus simplement mettre deux parenthèses. Cela ne change rien au comportement, mais le compilateur considère que si tu as mis deux parenthèses façon [tt]if ((self = [super init]))[/tt] c'est que tu as explicitement dit que tu savais ce que tu faisais et que ce "=" que tu as mis n'est pas une erreur à  la place d'un "==" mais vraiment un "=" que tu voulais.


    Si tu as ces warnings avec Xcode4 alors que tu ne les avais pas avant avec Xcode3, c'est en fait simplement parce que les réglages par défaut de Xcode4 sont plus stricts et demandent de remonter ces réglages, alors que dans Xcode3 aussi tu pouvais les remonter si tu voulais, sauf que par défaut certains warnings étaient désactivés ;)
  • CoharsCohars Membre
    04:55 modifié #9
    OK merci bien, je vais donc conserver la méthode des deux parenthèses.

    En effet, je suis entrain de découvrir à  quel point xCode 4 est plus stric. J'ai mis sur No l'option suivante dans les "build settings" du projets :

    "Missing function prototype"

    ça m'a résolu 10 erreurs dans Cocos2D, et une autre grosse dizaine dans ShareKit.

    J'ai aussi pu résoudre quelques warnings avec ça :
    http://publib.boulder.ibm.com/infocenter/tpfhelp/current/index.jsp?topic=/com.ibm.ztpf-ztpfdf.doc_put.cur/gtpm1/m1rhenm.html

    Enfin,
    j'ai résolu plus de 10 warnings en supprimant ces deux lignes :

    FBLOG2(@&quot;DATA: %s&quot;, data.bytes);<br />FBLOG(@&quot;Connecting to %@ %@&quot;, _url, _params);
    


    Mais j'ai bien peur qu'elles servent à  quelque chose ::)

    - (void)handleResponseData:(NSData*)data {<br />&nbsp; <br />&nbsp;  FBLOG2(@&quot;DATA: %s&quot;, data.bytes);<br /><br />&nbsp; NSError* error = nil;<br />&nbsp; id result = [self parseXMLResponse:data error:&amp;error];<br />&nbsp; if (error) {<br />&nbsp; &nbsp; [self failWithError:error];<br />&nbsp; } else if ([_delegate respondsToSelector:@selector(request:didLoad:)]) {<br />&nbsp; &nbsp; [_delegate request:self didLoad:result];<br />&nbsp; }<br />}
    


    Et les warning sont :

    "Expression result unused" deux fois
    "Value Computed is not used"
    "left-hand operand of comma expression has no effect"

    Et j'en ai trois comme ça...


Connectez-vous ou Inscrivez-vous pour répondre.