Projects

Ticket #688 (closed defect: invalid)

Opened 21 months ago

Last modified 14 months ago

IB fails to read classfile in Ruby Cocoa project

Reported by: tmowlem@… Owned by: lsansonetti@…
Priority: major Milestone:
Component: MacRuby Keywords: IB XCode project
Cc:

Description (last modified by martinlagardette@…) (diff)

Had a problem with Interface Builder parsing a XCode project using MacRuby. Raised a bug in Radar but Apple Engineering have responded that the issue is with macruby. Therefore raised as a ticket here. Full text of email thread reproduced below:

Hi Timothy,

This is a courtesy email regarding Bug ID# 7464509.  
Engineering has determined that this issue originates with MacRuby mailing-list.  
[...]
The IB parser has been tested many times recently (especially the last few days), so we would be tempted to say that this is a problem with the  project.
[...]

-------------------------------------------------------
Bug ID #: 7464509
Bug Title: IB fails to read classfile in Ruby Cocoa project
-------------------------------------------------------
<GMT11-Dec-2009 18:01:20GMT>
Summary:
I have a Ruby Cocoa application project created using the template. At first IB was correctly seeing the .rb file as a class and discovering its outlets. But it has stopped doing so. Now if I select File->Read Class Files to force a re-read it parses the file then shows a red dimple in the IB project window at the bottom and displays an error message saying "Parsed 1 source file, but no classes were found or changed".

I tried editing the source .rb and saving it. I also closed and reopened both IB and XCode but IB will not read the source any more.

I did a Clean Build at some point before this behaviour started that could be related although I have no evidence to show that this was the cause.

Steps to Reproduce:
1. Create a Ruby Cocoa project
2. Create a .rb class add some code and save it
3. Add some GUI objects eg buttons, popups, etc to the window in the main NIB
4. Add an Object to the NIB project window from the Library
5. Show the inspector, go the Identity tab and look  for the ruby class in the Class popup

Expected Results:
The .rb class should show up and be selectable to set the class as the type of the object added to the IB project in step 4

Actual Results:

IB completely refuses to see the .rb as a class.
Also editing and saving the .rb file in XCode, reopening the apps or File->Reread class files should all cause a sync between XCode and IB. The .rb should then show up in the popup. It doesn't as described.

Regression:
none

Notes:
Please note that the project was working normally. Then it stopped working for no obvious reason.
I can provide the project zipped up if required. But the code is proprietary (I am doing contract work for a client) so confidentiality would need to be respected in that case.

<GMT03-Feb-2010 23:01:25GMT>
Yes I can see the class in the classes tab of the IB Library window. It shows as a blue cube. The Lineage, Definitions, Outlets and Actions tabs also show what appears to be correct content yet the bug as described on File -> Read Class Files persists.

<GMT12-Feb-2010 19:59:25GMT>
'GenRegData.zip' was successfully uploaded

<GMT12-Feb-2010 19:59:25GMT>
See attached. I have obfuscated the code to protect client confidentiality but the problem was still present.

Change History

Changed 21 months ago by martinlagardette@…

  • description modified (diff)

Changed 21 months ago by martinlagardette@…

  • description modified (diff)

Changed 14 months ago by lsansonetti@…

  • status changed from new to closed
  • resolution set to invalid
  • milestone MacRuby 0.5 deleted

That's not a MacRuby bug.

Note: See TracTickets for help on using tickets.