Pb de warnings liés au webkit

UniXUniX Membre
06:29 modifié dans Vos applications #1
Salut les amis.

Je souhaiterais utiliser des fonctions du webkit.

Pour ce faire, j'ai importé le framework du webkit. Jusque là  tout va bien.
Le problème est que, si je mets en début de mon controlleur
#import <WebKit/WebKit.h>

j'ai toute une flopée de warnings du compilo, et si je ne mets rien, à  chaque appel d'une fonction du webkit du style
[[vueWeb mainFrame]loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];

j'ai également des warnings : "warning: no 'loadRequest:' method found" ou "warning: no 'mainFrame:' method found"  :'(

Quelle est la solution ...?  ???

Réponses

  • BruBru Membre
    06:29 modifié #2
    dans 1168554025:

    Le problème est que, si je mets en début de mon controlleur
    #import <WebKit/WebKit.h>
    

    j'ai toute une flopée de warnings du compilo,


    Et c'est quoi ces messages, car tu ne le dis pas ?

    Chez moi, [tt]#import <WebKit/WebKit.h>[/tt] fonctionne correctement : aucun message !

    .
  • UniXUniX Membre
    06:29 modifié #3
    Il m'en met 125 comme ça ....

    warnings_webkit
  • BruBru Membre
    06:29 modifié #4
    Ca ressemble à  une redondence de déclaration du WebKit.h.

    Fais ce test : retire tous les [tt]#import <WebKit/WebKit.h>[/tt] de tous tes sources.
    Ensuite mets [tt]#import <WebKit/WebKit.h>[/tt] dans le fichier ton-projet_Prefix.pch (qui se trouve dans le groupe Other Sources).
    Enfin, fais Clean All Targets (menu Build) et recompile.

    .
  • UniXUniX Membre
    06:29 modifié #5
    Idem !
  • BruBru Membre
    06:29 modifié #6
    Ben, à  part une couille dans ton projet...

    Tu dis avoir importer le framework du webkit... Comment as tu fais ?
    Normalement, un simple clic-droit sur le group Frameworks, puis menu Add > Existing Framework... puis sélection du Webkit.framework (dans le rep système) suffit.

    A tout hasard, ré-essaie l'import.

    .
  • UniXUniX Membre
    06:29 modifié #7
    Ouais, j'ai fait comme ça.
    Je vais tenter de le virer .... faire un clean, et remettre.
  • UniXUniX Membre
    06:29 modifié #8
    Non ... Pas mieux ...!
  • MalaMala Membre, Modérateur
    06:29 modifié #9
    Une méthode display qui retourne une NSString? ???

    Une classe perso définissant une méthode "display" et que tu utiliserais par la suite sans la typer? Du coup, le compilo ne saurait pas à  qui tu fais référence.

    Je verrais bien un truc dans ce genre.
  • UniXUniX Membre
    06:29 modifié #10
    Ben en fait, j'ai fait le tour :
    - je n'ai pas de méthode display dans mes classes persos
    - les erreurs sont sur des méthodes display des classes du webkit telles que DOMCSSRuleList.h, ou même NSView.h

    Elles interviennent à  chaque fois que dans mon code j'utilise la méthode display de NSView pour mettre à  jour l'affichage de mes vues persos.

    Il faut que je mette des (MaVuePerso *) devant tous mes appels à  display ?
  • MalaMala Membre, Modérateur
    06:29 modifié #11
    Lorsque tu déclares tes vues (perso ou pas) dans ton .h, tu les types bien?

    Du genre:
    IBOUtlet MaVuePerso* maVue;
    


    Ou bien tu les déclares juste en id (ce  que fait par défaut Interface Builder lorsqu'on créer un outlet):
    IBOUtlet id maVue;
    


    Si c'est le deuxième cas, comme je le soupçonne, alors c'est normal. Pour résoudre le problème il suffit de remplacer "id" par le type réel de la classe. Xcode devrait alors retrouver ses petits.

    Il faut que je mette des (MaVuePerso *) devant tous mes appels à  display ?

    Ca marcherait aussi mais c'est beaucoup plus lourd car il faudrait le faire partout dans ton code source alors que là  on ne touche qu'à  la déclaration dans le .h.
  • UniXUniX Membre
    06:30 modifié #12
    Bon, j'ai essayé de typer correctement mes vues, mais ça me fout un boxon monstrueux ....

    A première vue, ton idée à  l'air bonne, j'ai quand même réussi à  supprimer quelques warnings .... Je vais finir les 2 ou 3 trucs en cours, et je me pencherais sur ce typage de vues en suivant.

    Je vous tiens au jus.
Connectez-vous ou Inscrivez-vous pour répondre.