On 20 Jul 2010, at 19:49, Laurent Sansonetti wrote:

> On Jul 20, 2010, at 10:36 AM, Nick Ludlam wrote:
> 
>> On 19 Jul 2010, at 22:00, Laurent Sansonetti wrote:
>> 
>>> Hi Nick,
>>> 
>>> On Jul 18, 2010, at 11:34 AM, Nick Ludlam wrote:
>>> 
>>>> So far, so good. I've added the bundle to a MacRuby project, and it's 
>>>> copied into the Frameworks/ folder in the app bundle during the build. I 
>>>> am able to load the bundle with the following statement:
>>>> 
>>>> bundle_path = NSBundle.mainBundle.privateFrameworksPath
>>>> NSBundle.bundleWithPath(bundle_path + 
>>>> "/TagLibBundle.bundle").loadAndReturnError(nil)
>>> 
>>> That should work. If you use NSBundle to load the bundle, then you don't 
>>> need the Init function as discussed above. Otherwise, you can keep the Init 
>>> function and you may be able to use #require here. 
>> 
>> I couldn't get #require to work, but that might be to do with the name of 
>> the bundle being 'TagLibBundle.bundle', rather than just 'TagLibBundle'. I 
>> need to investigate.
> 
> Strange, it should work if you pass a full path to the bundle file, file 
> extension included.


I tracked down why macirb wasn't able to load the bundle I was building from 
XCode. One was a misunderstanding, and one looks like a configuration problem.

Firstly, I was trying to require my bundle package directory, rather than the 
actual binary file contained in <BundleName>.bundle/Contents/MacOS/

Secondly, the binary file inside MacOS/ wasn't created with the .bundle suffix. 
 When I renamed the actual bundle binary, and I #require it directly, it works 
just fine.

Is there any way to have XCode build a bundle binary which isn't packaged in 
the usual 'bundle' way, with Contents/MacOS/ directories created? Also, setting 
'Executable Extension' to 'bundle' in the project target settings doesn't seem 
to have any effect on the binary file contained inside Contents/MacOS/


Nick

_______________________________________________
MacRuby-devel mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Reply via email to