Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

10.5: Edit compiled NIBs with Interface Builder System 10.5
We know compiled NIBs don't open in Interface Builder (part of Xcode). As almost all Apple programs use compiled NIBs, it's a real pain to try to tweak their interface elements with Xcode. But some non-Apple programs use regular non-compiled NIBs, so the trick it to copy the compiled keyedobjects.nib file into a regular .nib resource, and then open it with Interface Builder.

Just navigate to the Content » Resources folder of the program you want to edit then, find, select and drag and drop the keyedobjects.nib you need to edit to some other non-compiled .nib. The original compiled keyedobjects.nib will then open and allow every usual interface tweaking.

Of course, I had some concerns about this trick. But I used it to edit the Keynote 3 resources, and so far, I've haven't seen any problems -- and Keynote is as stable as before. A nice way to edit the Leopard interface, maybe?

[robg adds: I haven't tested this one.]
    •    
  • Currently 2.78 / 5
  You rated: 4 / 5 (9 votes cast)
 
[42,162 views]  

10.5: Edit compiled NIBs with Interface Builder | 7 comments | Create New Account
Click here to return to the '10.5: Edit compiled NIBs with Interface Builder' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
10.5: Edit compiled NIBs with Interface Builder
Authored by: michaelnatter on Nov 26, '08 10:59:56AM

Not working for me.

But then...I am not sure I am understanding it.

Here is my test situation:

Handbrake 0.9.0 had editable .nib files

Handbrake 0.9.2 has compiled .nib files

How would this hint get 0.9.2's .nib files to be editable?



[ Reply to This | # ]
10.5: Edit compiled NIBs with Interface Builder
Authored by: metiure on Nov 26, '08 11:19:20AM

sorry, i'm not an english native speaker...

1.so far, you must have an editable NIB to start with (these editable NIBs seem to have 2 files in their own package content: classes.nib and info.nib).

2.Then if you "show package contents" of this editable NIB, the Finder will open a window with the package content list

3.now, choose your compiled NIB and, again, "show package contents". Once you do so, select the resource called 'keyedobjects.nib' and drag it to the package contents of your editable NIB (you may want to drag a copy instead)

4. Now, shoot Interface Builder and open your modified NIB: it will open it and it will also open and edit the compiled 'keyedobjects.nib' inside the NIB

5.once you are happy with your tweaks, you can save the NIB and then, go to Finder and proceed the opposite way, drag 'keyedobjects.nib' back to the compiled NIB.

It works, I just tried again, and so far, every 10.5 compiled NIB opens in IB this way, even System ones.



[ Reply to This | # ]
10.5: Edit compiled NIBs with Interface Builder
Authored by: michaelnatter on Dec 01, '08 09:00:18AM

Ah!

It was second "Show Package Contents" that was missing (showing the contents of the mainmenu.nib file for instance)

Thanks for the follow up. I will try it out again.



[ Reply to This | # ]
10.5: Edit compiled NIBs with Interface Builder
Authored by: gniqu on Nov 10, '09 05:10:13PM

It's seems that the compiled NIBs missed classes.nib and info.nib in its own package content.So we can not open and modify the compiled NIBs .And why we just copy classes.nib and info.nib of editable NIB to a compiled NIBs that we can make the compiled NIBs editable directly.After modify delete classes.nib and info.nib you copied or let them there.It works here in 10.5.8.Sorry my poor English :)



[ Reply to This | # ]
10.5: Edit compiled NIBs with Interface Builder
Authored by: actuosus on Jul 02, '09 08:14:42AM

There is some other way to work with compiled nibs, based on this hint.
In Terminal:
plutil -convert xml1 -o xml.plist keyedobjects.nib

Then you can edit some labels and bindings.



[ Reply to This | # ]
10.5: Edit compiled NIBs with Interface Builder
Authored by: coliman on Nov 11, '09 10:48:13AM

The app Writeroom has an editable .nib file. Worked fine for me.



[ Reply to This | # ]
10.5: Edit compiled NIBs with Interface Builder
Authored by: crh0872 on Jan 01, '11 08:50:23AM

FYI, it doesn't work if you make a new, blank nib with Interface Builder and try and copy into that. You have to find an application that has a keyedobjects.nib as well as an objects.nib, info.nib, and classes.nib inside the main nib file.



[ Reply to This | # ]