Installation d'une palette IB

tabliertablier Membre
janvier 2011 modifié dans Xcode et Developer Tools #1
J'ai téléchargé les deux exemples suivants: ClocControl" et ClockControlPalette.
Pour faire marcher ClocControl il faut avoir compilé ClockControlPalette et avoir installé la palette dans IB.
Après compilation de ClockControlPalette j'obtiens un ClockControlPalette.ibplugin et un ClockControlPalette.framework. D'après le README du projet ClocControl:
Before you can open the Application's MainMenu.nib file, you will have to build and launch IB by double clicking on the built palette.  (The nib requires this palette to be known and present)
Si je clique sur le plugin j'obtiens l'erreur:
ClockControlPalette.ibplugin” could not be opened. The bundle is damaged or missing necessary resources. Try reinstalling the bundle.
J'ai essayé d'installé le plugin en utilisant les préférences de IB. J'obtiens la même erreur.
J'ai été lire la doc: Interface Builder User's guide. je ne trouve pas d'explication (ou je suis passé à  coté!).
  ???  j'ai donc besoin d'aide!

Nota: Le README affirme que:
This project contains the source code for the Clock Control palette for Interface Builder, updated for Interface Builder 3.  This palette no longer works with Interface Builder Tiger.

Réponses

  • CéroceCéroce Membre, Modérateur
    04:37 modifié #2
    C'est un problème courant quand on travaille avec les IBPlugins. En gros, IB est un peu fainéant pour charger le code depuis le bundle du plug-in.

    ça fait près de deux ans que je n'y ai pas touché, mais il me semble qu'il fallait retirer le plug-in des Préférences d'IB, puis quitter IB.
    Ensuite, double-cliquer sur le plug-in dans Xcode pour qu'IB le recharge.

    (Si vous vous demandiez pourquoi Xcode 4 incorpore IB, voici sans doute l'une des raisons).
  • tabliertablier Membre
    04:37 modifié #3
    il fallait retirer le plug-in des Préférences d'IB, puis quitter IB.
    Ensuite, double-cliquer sur le plug-in dans Xcode pour qu'IB le recharge.
    Ben, oui s'il est déjà  installé, mais là , il ne l'est pas. C'est sa première installation que je n'arrive pas à  faire.
  • CéroceCéroce Membre, Modérateur
    04:37 modifié #4
    Dans mon cas, il s'agissait d'un plugin que j'avais moi-même conçu, et il est intégré à  la cible, dans la rubrique Frameworks/Linked Frameworks. D'ailleurs, le IBPlugin se trouve bien dans le répertoire Frameworks de l'appli finale.

    Peut-être qu'IB peut rechercher des plugins à  d'autres chemins, mais je n'en sais pas plus.
  • tabliertablier Membre
    04:37 modifié #5
    Faut toujours dire ce qu'on a trouvé. J'ai été trompé par l'erreur indiquée. En fait, en copiant manuellement le FrameWork dans /System/library/Frameworks, tout marche bien! Je vais quand même essayer de copier le FrameWork directement dans le bundle du plugin, juste pour voir!
  • CéroceCéroce Membre, Modérateur
    04:37 modifié #6
    Si tu places le plug-in dans Library/Frameworks, l'appli ne peut sans doute s'exécuter que sur ta machine, puisque Xcode ne copiera pas le plug-in dans l'appli.
  • tabliertablier Membre
    04:37 modifié #7
    Exact! Mais il y a deux niveau de fonctionnement:
    1 à  l'édition IB doit trouver son plugin et le framework correspondant.
    2 le logiciel produit doit marcher de manière indépendante, donc embarquer le Framework.
    Pour le 1 c'est fait. Pour le 2 je ne sais pas comment on le fait, mais je finirais bien par trouvé.
Connectez-vous ou Inscrivez-vous pour répondre.