import d'un Framework?

tabliertablier Membre
02:54 modifié dans API AppKit #1
Pour expérimenter, j'ai fait un petit Framework: HyperText.framework.
Pour l'importer dans mon projet d'application:
1_ J'ajoute une build phase: copy du Framework dans le dossier frameworks de l'application.
2_ J'importe le .h :  #import  <HyperText/HyperText.h>
  :( A la compilation je n'ai aucune erreur, mais l'application plante directement au lancement!
Ai-je oublié quelque chose?
Dans ce framework j'ai des variables statiques, en fait des constantes qui ne sont jamais modifiées. Dans "framework programming guide" je n'ai pas trouvé si les statiques sont autorisées et le paragraphe sur l'import dans une application ne m'a pas renseigné!

ci joint le framework. il est vraiment très simple!

Réponses

  • 02:54 modifié #2
    dyld: Library not loaded: /HyperText.framework/Versions/A/HyperText
      Referenced from: /Users/loulou/Desktop/Untitled/build/Debug/Untitled.app/Contents/MacOS/Untitled
      Reason: image not found


    Fait une recherche sur "dyld: library not loaded" dans le forum, tu trouveras ton bonheur.
  • tabliertablier Membre
    02:54 modifié #3
    ça y est, je suis de retour!
    Fait une recherche sur "dyld: library not loaded" dans le forum, tu trouveras ton bonheur.
    Ok je vais faire cela et relire la doc Apple.
    Par ailleurs, j'ai comparé la structure de mon FW à  celle du FW GraphTool. je ne vois pas de différence! donc le FW devrait être correct!
    Point intéressant, il y a une description de sa mise en oe“uvre dans les articles.

  • CéroceCéroce Membre, Modérateur
    02:54 modifié #4
    Ne perds pas trop de temps à  lire la doc d'Apple qui te fais des renvois vers une autre doc.
    Je te conseille plutôt de lire cet excellent post de l'ami Chacha:
    Embarquer dylib et sous-fameworks, résolution des liens grâce à  l'install_name

    Mais pour résumer: ce qui compte, c'est l'install name de ton framework. Une fois le framework linké, tu peux le vérifier grâce à  la commande otool -L. Par défaut, il est réglé à  Library/Frameworks, et tu dois le changer dans les options de linkage (Dynamic Library Install Name) à  @loader_path/../Frameworks.

    Tu peux également le modifier après coup avec install_name_tool, mais ce n'est à  faire que dans les cas complexes, comme celui exposé par Chacha.
  • tabliertablier Membre
    avril 2009 modifié #5
      :P Cha, ch'est un excellent conseil, Merci!
Connectez-vous ou Inscrivez-vous pour répondre.