[Framework]Ajouté un framework à  une application

TchouboudouTchouboudou Membre
23:02 modifié dans API AppKit #1
Bonjour les gens !

J'ai passe une petite appli à  quelqu'un. Malheuresement, cette appli utilise un framework que la personne n'a pas (donc l'application ne marche pas). J'ai donc, à  l'arrache, ajouté le framework dans /Contents/Frameworks/ (dossier Frameworks que j'ai créé).
Après ça, l'application marche. Mais, malheuresement, des images spécifiques au framework ne sont pas affiché (à  part chez moi, où ça marche nikel).

Y a-t-il un autre moyen d'inclure le framework dans l'application, où dois-je rajouter les images dans le projet ?

Merci d'avance,
Tchouboudou

Réponses

  • BruBru Membre
    23:02 modifié #2
    Où sont normalement stockées les images ? Dans le Resources du framework ?
    Comment ton appli récupère t'elle ces images pour les utiliser ?

    Bref peu de détail, donc peu de réponse.

    .
  • 23:02 modifié #3
    Si tu veux récupérer le chemin des dites images et que tu essayes avec NSImage imageNamed:, effectivement, ça ne marche plus une fois que les images sont dans un framework. Ce que tu dois donc faire est récupérer le NSBundle lié au framework (plusieurs façons, regarde les constructeurs pour NSBundle (je pense que le plus "pertinent" serait bundleForClass:, et puis une fois que tu as l'instances de NSBundle, il faut utiliser pathForImageResource:. Je te conseille quand meme de lire la doc pour les détails.
  • TchouboudouTchouboudou Membre
    23:02 modifié #4
    En fait, c'est le framework-palette PSMTabBarControl. Ce qui ne s'affiche pas, l'instance de PSMTabBarControl.
  • MalaMala Membre, Modérateur
    avril 2007 modifié #5
    Si cela peut t'aider, voici un petit projet de test fait l'autre soir suite à  ton problème de warning.
    Test onglets
    J'y utilise le framework en le recopiant à  l'intérieur du bundle de l'exécutable.

    A noter cependant, je ne suis pas passé par la palette du composant mais directement par une CustomView à  laquelle j'ai associé la classe PSMTabBarControl dans l'onglet "Custom class" dans Interface Builder. Mis a part les Outlets, tous les autres liens sont fait à  la mano (je trouve ça plus pratique et plus clair) dans la méthode awakeFromNib de MyWindowControler.
  • TchouboudouTchouboudou Membre
    23:02 modifié #6
    Merci de ton aide, mais malheuresement, ça ne s'affiche pas (l'instance de PSMTabBar) :s .
  • MalaMala Membre, Modérateur
    23:02 modifié #7
    Tiens oui, c'est bizarre. Sur mon iMac ça fonctionne et sur mon Mac Book je 'ai pas les onglets.  ??? Il doit y avoir un couac lors de l'initialisation. On dirait qu'il ne fait pas le lien avec les onglets déjà  existants. Si j'ajoute "[self addNewTab:self];" à  la fin du awakeFromNib, mes trois onglets apparaissent à  nouveau correctement (mais en toute logique je devrais en avoir 1 de plus).
  • BruBru Membre
    23:02 modifié #8
    Testé sur mon MacBook : aucun souci (pour le projet test de Mala) !

    Ca ressemble à  un ch'ti bug du framework...

    .
  • TchouboudouTchouboudou Membre
    23:02 modifié #9
    Bizarre, j'ai rien rajouté, et ça marche.
    J'ai repassé l'application (en ayant rajouté le framework à  la main) et ça marche... Bizarre...

    Merci, en tout cas :)
  • 23:02 modifié #10
    En fait je pense que Tchouboudou veut simplement ajouter le framework dans le paquet de son application. Car tout le monde n'a pas ce framework sur son Mac..
    Je viens de lui expliquer la démarche via iChat.. normalement ça devrait être bon
Connectez-vous ou Inscrivez-vous pour répondre.