2009-05-18 4 views
1

J'ai créé un contrôle personnalisé et un plug-in IB/framework pour cela en utilisant le template du plugin IB3. Selon les docs, le plugin doit être intégré directement dans le répertoire resources du framework. Quand je construis mon projet, le plugin se trouve dans le dossier de configuration (Debug) avec le framework à la place.Xcode ne construira pas le plugin IB dans le dossier des ressources

C'est le même comportement dès la sortie de la boîte lorsque je crée un nouveau modèle. J'ai essayé de changer le CONFIGURATION_BUILD_DIR pour être $(BUILD_DIR)/$(CONFIGURATION)/FrameworkName.framework/Resources/ mais n'a obtenu aucun changement.

Pour les grins, j'ai aussi essayé de jouer avec le chemin d'installation, mais je n'ai rien obtenu non plus. J'ai vérifié quelques autres projets open source pour vérifier leurs paramètres de construction, mais ils sont identiques au mien et pourtant leur plugin est construit et mis dans le répertoire des ressources comme prévu.

Répondre

1

Ne jouez pas avec les paramètres de construction. Au lieu de cela, ajoutez une phase de génération "Copier les fichiers" à la cible du framework. Dans l'inspecteur pour la phase de génération de fichiers de copie, définissez le répertoire sur "Ressources". Ajoutez le plugin à cette phase de construction en faisant glisser le plugin produit depuis le groupe "Products" dans l'arborescence "Groups & Files" de Xcode.

0

Merci, Barry. Lorsque j'ai essayé d'utiliser une phase de génération de fichiers de copie, IB n'a pas pu résoudre la connexion entre le framework et le plugin. Il n'a pas pu trouver le plugin associé pour une raison quelconque. Cependant, après avoir joué du violon sans fin, j'ai trouvé que j'étais plus proche que je ne le pensais. Modification des CONFIGURATION_BUILD_DIR à:

$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FrameworkName.framework/Resources/ 

et mettre à jour les chemins de recherche de cadre résolu le problème pour moi. Ce n'est pas le comportement du modèle de plugin (au moins sur ma machine) hors de la boîte, donc j'espère que cela aidera quelqu'un d'autre.

0

Pour obtenir le produit intégré d'une cible Xcode dans le répertoire des ressources d'une autre cible Xcode, vous devez trouver le produit dans l'arborescence des groupes et des fichiers et faire glisser le produit dans la l'autre cible. Vous devez également ajouter une dépendance de cible entre les deux cibles avec le panneau d'informations d'obtention de la cible.

Si vous voyez le plug-in intégré dans le répertoire des produits de construction, cela ne signifie pas qu'il n'a pas été copié dans le répertoire des ressources du framework. Xcode construit toutes les cibles dans le répertoire de construction, puis les copie (et non les déplace) dans leur destination finale - qui est dans ce cas le répertoire des ressources du framework. Une raison à cela est qu'un produit peut avoir plusieurs destinations finales.

Questions connexes