2010-01-24 18 views
3

IBCocoaSimulator se bloque lorsque IB ne parvient pas à trouver l'infrastructure. Je suppose que cela vous arrive également. Je peux courir IBCocoaSimulator sans accident, quand je copie manuellement mon framework + ibplugin du répertoire de construction dans /Users/username/Library/Frameworks. Je fais cela avec Finder, ce n'est pas optimal, mais ça marche.IBPlugin et chemins d'accès à l'infrastructure

J'ai cherché un moyen plus intelligent et chaque solution (BWToolkit, BGHUDAppKit, KTUIKit) que j'ai regardé, fait les choses de manière très différente. Une solution exécute un script sudo qui le copie à l'échelle du système /Library/Frameworks. Un autre définit @loader_path et encore un autre utilise @executable_path. Je n'ai pas eu de chance avec aucun d'entre eux et à cause des grandes différences, il est difficile de voir le modèle.

Je suis confus.

Comment vous configurez IBPlugin, pour que vous puissiez l'intégrer dans votre application?


MISE À JOUR 1:

Yay, a résolu le problème, après avoir lu un blog post by dribin sur la façon d'utiliser @rpath, je me suis dit comment le faire fonctionner avec mes IBPlugins. La copie à l'aide du Finder n'est donc plus nécessaire.

Ce que je ne faisais que:

  1. Pour MySmallFramework mis Installation Directory à @rpath
  2. Pour MySmallPlugin mis Runpath Search Paths à @loader_path/../Frameworks
  3. Pour MySmallApp mis Runpath Search Paths à @loader_path/../Frameworks

Nice.

Répondre

1

est peut-être évident pour la plupart d'entre vous, mais la solution de neoneye telle que publiée dans sa « mise à jour 1 » nécessite votre cible plugin d'avoir un « fichiers cadres de copie » construction de la phase avec le donné cadre attribué à.

(ne pas encore assez de points pour commenter directement :(où le message de réponse)

1

Vous pouvez appeler ce projet avec makefiles xcode externe de ibplugin makefile comme exemple suivant:

install_name_tool -change @loader_path/MyPluginName.framework/MyPluginName @loader_path/<absolute path or level to updirectory>/MyPluginName.framework/MyPluginName $(BINDIR)/MyPluginName.ibplugin/Contents/MacOS/MyPluginName