What does @loader_path refer to when loading ibplugins from a linked-in framework?
Greetings, I have followed the Interface Builder Plug-in Programmation Guide in order to make my first ibplugin and there is one problem I haven't been able to solve yet. It is stated that when opening a nib file, interface builder looks at every linked-in framework from the associated xcode project and automatically loads all the ibplugins located in the resources folder of these frameworks. And this is the only behaviour which I can't reproduce. I have already searched a lot in order to make this work and up to now, I am using @loader_path/../Frameworks as the installation directory for my framework. I have added a run script build phase which creates a symbolic link in the Contents folder of my ibplugin file so that it points to the location where my Framework resides (6 folders higher in the folder hierarchy: ../../../../../..) and this way I have been able to load up my plugin both in my application and through the plugins tab in Interface Builder's preferences. Although, if I start Interface Builder without having the plugin already installed and that I open up a nib from a xcode project which links with my framework, it fails to load the nib file saying that the required plug-ins aren't installed. I have tried running Interface Builder from the command line in order to see any error messages but nothing is being printed to the console unlike what happens if I try to manually install the plug-in. In fact I used these console errors to figure out how to create my symbolic link. Now that I've presented my problem, here is my question. Is it possible that @loader_path is different when Interface Builder loads up ibplugins from linked-in frameworks than when one manually adds a plugin through the preferences window? If that is the case, maybe another well placed symbolic link could finally allow my plugin to work in every use case I can imagine. thanks -Dalzhim ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: What does @loader_path refer to when loading ibplugins from a linked-in framework?
On Wed, Sep 24, 2008 at 11:15 AM, Dalzhim Dalzhim <[EMAIL PROTECTED]> wrote: > Greetings, > > I have followed the Interface Builder Plug-in Programmation Guide in order > to make my first ibplugin and there is one problem I haven't been able to > solve yet. It is stated that when opening a nib file, interface builder > looks at every linked-in framework from the associated xcode project and > automatically loads all the ibplugins located in the resources folder of > these frameworks. And this is the only behaviour which I can't reproduce. > > I have already searched a lot in order to make this work and up to now, I am > using @loader_path/../Frameworks as the installation directory for my > framework. I have added a run script build phase which creates a symbolic > link in the Contents folder of my ibplugin file so that it points to the > location where my Framework resides (6 folders higher in the folder > hierarchy: ../../../../../..) and this way I have been able to load up my > plugin both in my application and through the plugins tab in Interface > Builder's preferences. Although, if I start Interface Builder without > having the plugin already installed and that I open up a nib from a xcode > project which links with my framework, it fails to load the nib file saying > that the required plug-ins aren't installed. I have tried running Interface > Builder from the command line in order to see any error messages but nothing > is being printed to the console unlike what happens if I try to manually > install the plug-in. In fact I used these console errors to figure out how > to create my symbolic link. > > Now that I've presented my problem, here is my question. Is it possible > that @loader_path is different when Interface Builder loads up ibplugins > from linked-in frameworks than when one manually adds a plugin through the > preferences window? If that is the case, maybe another well placed symbolic > link could finally allow my plugin to work in every use case I can imagine. I would have thought that @loader_path would be the same thing each time, namely the path of the plugin binary (minus the last path component, of course). I'm not sure exactly what your problem might be, but if you type 'man dyld' you'll find a bunch of debugging environment variables you can set which might help you track it down. Mike ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: What does @loader_path refer to when loading ibplugins from a linked-in framework?
Hello Michael, I would have also thought that @loader_path would be the same thing no matter how I load my ibplugin into interface builder and maybe it is in fact the case, although this is the only thing that I haven't successfully investigated that I can think of up to now in order to solve my problem. As I explained previously, the ibplugin I have built successfully loads up in Interface Builder when I manually add it through the Plugin tab of the Preferences window. Although if I do not load it up manually and that I try to have Interface Builder load it dynamically by opening a nib file in a xcode project which links against a framework which includes my ibplugin in its resources directory, the plugin never loads up and I cannot seem to find any errors to help me find the source of the problem. I have looked at the man page for dyld and I have found some documentation in the Dynamic Library Programming Topics. Although I tried using the DYLD_PRINT_BINDINGS environment variable I didn't find where this logging is being done. Nothing appeared on the console after I ran interface builder and repeated the usual process: DYLD_PRINT_BINDINGS=1 cd /Developer/Applications/Interface\ Builder.app/Contents/MacOS ./Interface\ Builder regards -Dalzhim 2008/9/25 Michael Ash <[EMAIL PROTECTED]> > I would have thought that @loader_path would be the same thing each > time, namely the path of the plugin binary (minus the last path > component, of course). > > I'm not sure exactly what your problem might be, but if you type 'man > dyld' you'll find a bunch of debugging environment variables you can > set which might help you track it down. > > Mike > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > http://lists.apple.com/mailman/options/cocoa-dev/dalzhim.mlist%40gmail.com > > This email sent to [EMAIL PROTECTED] > ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: What does @loader_path refer to when loading ibplugins from a linked-in framework?
On Thu, Sep 25, 2008 at 11:18 AM, Dalzhim Dalzhim <[EMAIL PROTECTED]> wrote: > Hello Michael, > > I would have also thought that @loader_path would be the same thing no > matter how I load my ibplugin into interface builder and maybe it is in fact > the case, although this is the only thing that I haven't successfully > investigated that I can think of up to now in order to solve my problem. As > I explained previously, the ibplugin I have built successfully loads up in > Interface Builder when I manually add it through the Plugin tab of the > Preferences window. Although if I do not load it up manually and that I try > to have Interface Builder load it dynamically by opening a nib file in a > xcode project which links against a framework which includes my ibplugin in > its resources directory, the plugin never loads up and I cannot seem to find > any errors to help me find the source of the problem. > > I have looked at the man page for dyld and I have found some documentation > in the Dynamic Library Programming Topics. Although I tried using the > DYLD_PRINT_BINDINGS environment variable I didn't find where this logging is > being done. Nothing appeared on the console after I ran interface builder > and repeated the usual process: > > DYLD_PRINT_BINDINGS=1 > cd /Developer/Applications/Interface\ Builder.app/Contents/MacOS > ./Interface\ Builder This just sets a shell variable. IB won't see it. Either export it: export DYLD_PRINT_BINDINGS=1 Or set it as part of running the binary: DYLD_PRINT_BINDINGS=1 ./Interface\ Builder Mike ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
Re: What does @loader_path refer to when loading ibplugins from a linked-in framework?
Hello Michael, I have tried many things to get my plugin to load automatically in Interface Builder but I still haven't made it. I tried many things before testing something I assumed would work but I realized that even this wasn't enough. I changed DYLD_FALLBACK_FRAMEWORK_PATH to add the folder which contains my MyComponent.framework framework but even this didn't help me load up my plugin. My guess is that either I modified DYLD_FALLBACK_FRAMEWORK_PATH the wrong way, either the problem isn't about the framework not being found. Here is the command line I used: cd /Developer/Applications/Interface\ Builder.app/Contents/MacOS DYLD_FALLBACK_FRAMEWORK_PATH=$DYLD_FALLBACK_LIBRARY_PATH:/Users/gaubut/DevDruide/Sortie/Debug/ ./Interface\ Builder regards -Dalzhim 2008/9/25 Michael Ash <[EMAIL PROTECTED]> > This just sets a shell variable. IB won't see it. Either export it: > > export DYLD_PRINT_BINDINGS=1 > > Or set it as part of running the binary: > > DYLD_PRINT_BINDINGS=1 ./Interface\ Builder > > Mike > ___ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > http://lists.apple.com/mailman/options/cocoa-dev/dalzhim.mlist%40gmail.com > > This email sent to [EMAIL PROTECTED] > ___ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]