Importation de Gdata, compilation impossible

tarultarul Membre
01:33 modifié dans API AppKit #1
Bonjour tout le monde,
comme vous le savez peut être, google a libéré une nouvelle API cette semaine pour accéder a ses services. Je parle de GData-objectivec-client disponible ici : http://code.google.com/p/gdata-objectivec-client/.

La compilation du framework fonctionne, ainsi que les exemple. mais lorsque je veux créer un projet utilisant ce frameworl en suivant ces instructions :

Adding Google Data APIs to a project

The Google Data APIs Objective-C Client Library is provided as a built framework, suitable for inclusion in a Cocoa application bundle's Frameworks folder. To add the framework to an Xcode project, drag GData.framework to the project's Linked Frameworks source group, then drag the GData framework from the Linked Frameworks group folder to the Link Binary With Library phase inside of the application target.

Source files referring to GData objects should include the GData headers as

#import "GData/GData.h"

The GData source code and the project for building the framework is also provided. To facilitate debugging, you may opt to include the GData.xcode project or the GData source files directly in your application project. The example applications show how to include a reference to the GData framework project file in your Xcode project.


Cela ne fonctionne pas, voici le rapport d'erreur :
[Session started at 2007-04-19 19:13:19 +0200.]
dyld: Library not loaded: @executable_path/../Frameworks/GData.framework/Versions/A/GData
  Referenced from: /Users/Tarul/TestGData/build/Debug/TestGData.app/Contents/MacOS/TestGData
  Reason: image not found

TestGData has exited due to signal 5 (SIGTRAP).


J'avoue ne pas comprendre l'échec, surtout que les exemples fonctionnent. Mais ces derniers compilent eux même le framework. Surtout que je ne vois pas de quelle image il parle

Merci d'avance pour votre aide.

ps : je n'ai pas créer une 'issue' chez google, car je suis trop débutant pour savoir si c'est moi qui bug ou si c'est le framework. :D

Réponses

  • BruBru Membre
    01:33 modifié #2
    Le framework de Google est un framework qui se met dans le bundle de ton appli.
    Or, il semble qu'à  la compil, ce framework n'est pas copié dans ton bundle.
    Tu peux le vérifier en ouvrant le paquet de ton appli : dans Contnets, tu devrais voir un répertoire Frameworks qui contient GData.framework.
    Ceci explique le message d'erreur à  l'exécution.

    Le plus simple pour copier automatiquement ce framework dans ton appli est de faire :
    dans ton projet, déploie Targets (dans Groups & Files), puis déploie le target portant le nom de ton appli.
    Ensuitre, repère le carré gris de nom "Copy files". S'il n'existe pas, ajoute en cliquant-droit sur ce target, puis choisis le sous-menu "New build phase", puis l'option "New copy files build phase".

    Enfin ouvre dans le finder une fenêtre sur le répertoire où se trouve l'original du framework, et fais un drag 'n drop du framework vers ton projet dans (ou sous) le carré gris "Copy files".

    Recompile, et c'est terminé !

    .
  • tarultarul Membre
    avril 2007 modifié #3
    dans 1177006402:

    Le framework de Google est un framework qui se met dans le bundle de ton appli.
    Or, il semble qu'à  la compil, ce framework n'est pas copié dans ton bundle.
    Tu peux le vérifier en ouvrant le paquet de ton appli : dans Contnets, tu devrais voir un répertoire Frameworks qui contient GData.framework.
    Ceci explique le message d'erreur à  l'exécution.

    Le plus simple pour copier automatiquement ce framework dans ton appli est de faire :
    dans ton projet, déploie Targets (dans Groups & Files), puis déploie le target portant le nom de ton appli.
    Ensuitre, repère le carré gris de nom "Copy files". S'il n'existe pas, ajoute en cliquant-droit sur ce target, puis choisis le sous-menu "New build phase", puis l'option "New copy files build phase".

    Enfin ouvre dans le finder une fenêtre sur le répertoire où se trouve l'original du framework, et fais un drag 'n drop du framework vers ton projet dans (ou sous) le carré gris "Copy files".

    Recompile, et c'est terminé !



    Merci beaucoup. :)
    J'aurais du mieux interprété le message d'erreur. ^^
    Je rajouterais un truc cependant pour ceux qui passerais par là , dans le fenêtre lorsque l'on rajoute le "copy files" il faut choisir dans la liste déroulante 'frameworks'. :)

    Edit : petit question, est-il possible d'avoir l'autocomplémentation sur les classes issu du framework?
  • tarultarul Membre
    01:33 modifié #4
    J'en suis qu'au tout début mais voici le fruit de mes "bidouilles" sur objective-c et le framework de google.
    j'ignore encore si l'application plairait à  d'autre, mais la finalité pour l'utilisateur final est d'avoir un desktop widget comme on peut le voir avec istat pro. mais la raison principale est l'apprentissage du langage. je libérerai peut être le code(qui doit être affreusement moche aux yeux des bons codeur :p).
    En plus de mes petits test avec GDATA, j'ai crée ma 1ere NSWindow et NSCustomview. :p. Enfin il y a un petit bind tout simple vers les préférences utilisateurs.


    le tchi lien vers l'appli toute pourrie :p
    http://jeu.starwars.free.fr/screen/GCalDesktop.jpg

    désolé d'avoir posté sur ce fil,mais je ne trouvais pas que cela valait le coups de créer un fil dessus. j'en profite pour vous remercier pour vos articles.
Connectez-vous ou Inscrivez-vous pour répondre.