The BridgeSupport file should be in a BridgeSupport directory inside the framework’s Resources directory. For example, Foundation’s BridgeSupport file is at: /System/Library/Frameworks/Foundation.framework/Resources/BridgeSupport/Foundation.bridgesupport On Nov 17, 2010, at 2:32 PM, Alan Skipp wrote:
Thanks for the info. I'd wrongly assumed that as blocks can be treated as Objective-C objects that I could just go ahead and use them in Macruby. I have it working now, which is great, though I do have one more question. Initially I was receiving the same errors after I'd included the framework with a bridgesupport file into my project. I finally got it working after invoking, 'load_bridge_support_file' in my controller class. Is there something I should be doing that would enable macruby to automatically detect and load the bridgesupport file included in my framework?
Cheers, Al
On 16 Nov 2010, at 22:23, Thibault Martin-Lagardette wrote:
Also, it is to note that if the block lives inside a framework you've made (or downladed – one that is not part of the system), you'll have to generate the BridgeSupport files yourselves. This is important because the runtime needs to know that you're trying to use blocks, and you instruct it to use them by creating and using the said BridgeSupport files :-)
-- Thibault Martin-Lagardette
On Nov 16, 2010, at 23:10, Matt Aimonetti wrote:
Did you install BridgeSupport preview 1? http://www.macruby.org/blog/2010/10/08/bridgesupport-preview.html It is required to use C blocks.
Thanks,
- Matt
On Mon, Nov 15, 2010 at 2:51 AM, Alan Skipp <al_skipp@fastmail.fm> wrote: Hello everyone, I'm attempting to call a method on an Objective-C object which takes a block as its parameter, but I'm not having much luck. I can happily create the object in Macruby and send the message with a Proc. The NSLog call within the Objective-C method body succeeds, but the 'block()' doesn't. Am I doing something obviously wrong here? (I'm using a nightly build from sometime last week).
This is the Objective-C method:
- (void)callBlock:(void (^)())block; { NSLog(@"block: %@", block); block(); }
Here is the ruby code:
b = TestBlock.new b.callBlock( Proc.new { puts "hello" } )
The output is as follows:
block: #<Proc:0x2005c9b80> Program received signal: “EXC_BAD_ACCESS”.
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel