Récupérer fichier iPhoto

mac_manumac_manu Membre
06:58 modifié dans API AppKit #1
Bonjour,
Comment procéder pour via mon application cocoa, pouvoir récupérer des fichiers d'iPhoto depuis une palette par exemple, comme le permet la plus part des iApp.? Je sais que c'est possible pour Adress Book, mais est-ce le cas pour iPhoto?

Réponses

  • MathMath Membre
    06:58 modifié #2
    Salut,

    Regarde ça : http://www.dlsxtreme.com/imediabrowser/

    ça t'aidera peut-être.

    A+
  • muqaddarmuqaddar Administrateur
    06:58 modifié #3
    Wouah, c'est génial ce framework !!!
  • mac_manumac_manu Membre
    06:58 modifié #4
    dans 1146771145:

    Salut,

    Regarde ça : http://www.dlsxtreme.com/imediabrowser/

    ça t'aidera peut-être.

    A+


    C'est super, merci Math, c'est exactement ça que je cherchais!!  :adios!:
  • MathMath Membre
    06:58 modifié #5
    De rien  <3 <br />
    Il y a aussi un Connection Framework pour gérer des connexions FTP, SFTP WebDav et .Mac.

    C'est tout du bon boulot.
  • mac_manumac_manu Membre
    06:58 modifié #6
    Aà¯e! Un grand pas entre l'idée et la mise en pratique!! Je n'ai malheureusement pas encore d'expérience de programmation concernant l'utilisation d'une framework de tiers partie. Comment dois-je implémenter mon code pour utiliser par ex. "iMediaBrowser" ? Dois-je incorporer des fichiers dans mon projet ou suffit-il de mettre des #import ?
    Où puis-je me documenter pour ce genre de réalisation ? (j'ai affaire avec un protocol n'est-ce pas?)  :-\\
  • fouffouf Membre
    06:58 modifié #7
    Le framework n'est pas le meme, mais je pense que tu peux déjà  t'aider de ca pour intégrer le framework dans ton appli. Ensuite, il faudra que tu importes des headers, mais là  ca dépends du framework (je pense que dans iMediaBrowser il ya ce que j'appelle un head-master, cad un header qui importe tous les autre du framework ...) ;)
  • BruBru Membre
    06:58 modifié #8
    dans 1146950674:

    Ensuite, il faudra que tu importes des headers, mais là  ca dépends du framework (je pense que dans iMediaBrowser il ya ce que j'appelle un head-master, cad un header qui importe tous les autre du framework ...) ;)


    Ce header, c'est iMedia.h.

    .
  • mac_manumac_manu Membre
    06:58 modifié #9
    Merci pour l'exemple de cocoa.org, il est très bien. Avez-vous une idée comment reconnaà®tre le framework de iMediaBrowser?
  • mac_manumac_manu Membre
    06:58 modifié #10
    C'est bon, je crois que j'ai trouvé. J'ai ajouter l'extension .framework après le nom du dossier... Est-ce juste?
  • MathMath Membre
    06:58 modifié #11
    Heu normalement, si tu compiles le projet iMedia, tu trouvera le .framework dans le dossier build du projet.

    Ensuite tu mets ce projet dans ton projet à  toi.
  • mac_manumac_manu Membre
    06:58 modifié #12
    <3 Merci Math, cette fois, je crois que ça y est... reste encore à  mettre en pratique!!<br />
    A+
  • mac_manumac_manu Membre
    06:58 modifié #13
    dans 1146997735:

    Heu normalement, si tu compiles le projet iMedia, tu trouvera le .framework dans le dossier build du projet.

    Ensuite tu mets ce projet dans ton projet à  toi.


    Décidemment, il y a encore q.q.chose qui cloche. Le framework est dans mon projet, (l'original est mis dans /bibliothèque/framework). J'ai mis #import <iMediaBrowser/iMediaBrowser.h> dans le fichier myController. Question: où dois-je mettre les fichiers d'implémentation du framework?
    Voici le message d'erreur obtenu:

    /usr/bin/ld: Undefined symbols:
    .objc_class_name_iMediaBrowser
    collect2: ld returned 1 exit status
    /usr/bin/ld: Undefined symbols:
    .objc_class_name_iMediaBrowser
    collect2: ld returned 1 exit status

    Build failed (1 error, 2 warnings)  :'(
  • 06:58 modifié #14
    Bru a dit iMedia.h alors quand Bru dit, on s'exécute.

    Sinon autre problème: c'est un framework qui est fait pour etre dans le BUNDLE de l'application et non dans un Library/Frameworks.

    Sinon la meilleure marche à  suivre (à  mon sens) pour les framework open-source, c'est
    1. mettre bien au chaud le dossier contenant les sources du framework (autant les garder).
    2. glisser le projet contenant le projet du framework dans l'arborescence de ton projet à  toi.
    3. clique sur le projet du framework dans la liste Xcode, dans la liste de droite, vérifie que la target associée au framework est cochée.
    4. ouvre l'inspecteur pour la target de ton application, onglet General, clique sur + (pour la table Direct Dependencies). Choisis dans la liste le framework que tu veux importer et clique sur 'Add a target'.
    5. clique droit sur la target de ton application, Add->New build phase->New copy Files build phase. Pour la destination choisis Frameworks.
    6. 'déploie' le projet Xcode dont vient le framework dans la liste, et drag&drop du framework dans la copy files build phase ajoutée en 5.

    Avantages de cette formule par rapport à  celle de travailler avec le framework compilé:
    - les réglages de compilation du framework sont ceux que tu as choisis pour l'application (autrement dit, pas de risque de compiler le framework en "debug" et l'app en "release").
    - si le framework est mis à  jour, il suffit de remplacer les fichiers sources par les nouveaux (ce qui est particulièrement pratique si tu as un accès SVN ou CVS aux fichiers du framework).
  • mac_manumac_manu Membre
    06:58 modifié #15
    Merci Renaud, et dans le futur je retiendrai la leçon. (hmm!!)

    J'ai donc fais pas à  pas ce que tu m'as conseillé, et il reste... une erreur:

    pbxcp:iMediaBrowser.framework:no such file or directory

    De plus, par rapport aux autres framework, je n'ai pas de dossier header.h en sous-classement. Je suis têtu  :crackboom:- et j'espère y arriver une fois, mais mon acharnement dépend de votre patience et de votre temps... Donc encore un grand merci!! 
  • 06:58 modifié #16
    tu as du laisser trainer un truc lié à  un ancien essai, essaie dans un projet vierge.
  • mac_manumac_manu Membre
    06:58 modifié #17
    J'ai repris un ancien essai vierge, le résultat est identique. Je repose donc ma question: est-ce normal de n'avoir aucun dossier header.h dans le framework en question? Tous les autres frameworks ont ce fameux fichier dans leur arborescance!!
  • mai 2006 modifié #18
    Non ce n'est pas normal, j'ai ça (=screenshot) après compilation du framework. Tu ne te serais pas trompé de target et au lieu de prendre le framework, tu as pris l'application (iMediaBrowser contenant une application ET un framework, qui s'appellent tous les 2 iMediaBrowser).

    [Fichier joint supprimé par l'administrateur]
  • mac_manumac_manu Membre
    06:58 modifié #19
    Ben, tu avais raison, j'ai effectivement pris le faux framework. Mais avec le "bon", même si j'ai enfin le dossier header.h, j'ai toujours un message d'erreur, et il ne me trouve pas les fichiers "déclarés" dans iMedia.h
    Voici le résultat sur ma copie d'écran:

    [Fichier joint supprimé par l'administrateur]
  • 06:58 modifié #20
    dans 1147070327:

    2. glisser le projet contenant le projet du framework dans l'arborescence de ton projet à  toi.


    je ne sais pas comment tu as interprété ça, mais ce n'est pas glisser les fichiers sources de iMediaBrowser, mais bien glisser le fichier .xcodeproj. Tu dois arriver à  ça:


    [Fichier joint supprimé par l'administrateur]
  • mac_manumac_manu Membre
    06:58 modifié #21
    Décidemment, c'est à  n'y rien comprendre!! Je fais comme indiqué, je déplace le fichier .xcodeproj dans mon projet, j'obtiens la même chose que sur ta capture d'écran, mais lorsque je clique sur iMediaBrowser.framework, je n'ai toujours pas le dossier header.h. (voir ma copie d'écran. Est-ce que le problème viens de la compilation du projet iMediaBrowser ?

    [Fichier joint supprimé par l'administrateur]
  • MathMath Membre
    mai 2006 modifié #22
    Attends, j'ai peut etre une solution...

    J'avais le même problème. Tu as apparement un espace dans ton chemin : au niveau de "Xcode prgms". Vire l'espace et réessaye. J'ai galéré longtemps la dessus avant de lire la release note d'Xcode. Celui-ci ne gère pas les espaces dans les chemins !!! (apparement si, si le chemin est entre "" mais j'ai pas essayé)
  • mac_manumac_manu Membre
    06:58 modifié #23
    Merci Math, Renaud et Bru, mais malheureusement ça ne fonctionne toujours pas. Toujours pas de dossier header.h avec le framework. Cette fois je crois que je vais abondonner. A moins que d'autres idées vous viennent à  l'esprit... :p
  • BruBru Membre
    06:58 modifié #24
    dans 1147362227:

    Merci Math, Renaud et Bru, mais malheureusement ça ne fonctionne toujours pas. Toujours pas de dossier header.h avec le framework. Cette fois je crois que je vais abondonner. A moins que d'autres idées vous viennent à  l'esprit... :p


    J'ai fait un test rapide chez moi.

    J'ai compilé le projet contenant le framework.
    Puis j'ai linké ce framework à  un projet test.
    Ensuite j'ai ajouté la phase Copy pour intégrer le framework à  mon appli.
    Enfin j'ai importé le iMedia.h.

    Après quoi, j'ai pu affiché l'inspecteur de visualisation des documents ilife sans problème.

    Je ne vois vraiment pas sur quoi tu bloques ?

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