One of the most interesting things about the Mac, even back to its original form, was how it stored user interface data in a separate stream called "resource fork". This stream was readable by ResEdit. This allowed users to look inside the applications to see how they worked. It was also useful for developers who could use Apple's interfaces as examples to help them figure out how to do something UI-related. This tradition was continued in Mac OS X with ResEdit being replaced by Interface Builder and the resource fork being replaced by a file called "nib file" (NIB standing for NeXTSTeP Interface Building). The Nib files were more detailed than the traditional resource forks and were therefore of great value to developers and tinkerers.
That is, at least, until now. Apple has stopped using nib files directly within projects over the past few years. Instead, Apple has been encouraging flat XML-based "xib", which can be converted to nib files when the application is built. Xib files are flat, UTF-8 encoded text files. This is in contrast to nibs which were bundled folders. Xib files are therefore much more SCM-friendly that nib files. Interface Builder cannot edit the nib files they compile because they lack the class information IB requires and only contain the data required for the application to reconstitute objects. In Xcode 4, it is not possible to create nib files containing tiny "classes.nib” and "info.nib” files. This could make the file editable but take up very little space. To make an editable nib, you must make a copy the entire xib file and name it "designable.nib". A xib is basically a smaller representation of a nib file. This makes it more difficult to make editable nibs and far less efficient than the previous system. Editable nibs are becoming more rare in the wild.
Enter NibUnlocker. NibUnlocker attempts to read a non-editable file and produce an xib file Interface Builder or Xcode could edit. Although the resulting xib files don't contain all of the information in the original xib, NibUnlocker won't be a replacement for the original. They should not be used to compile a new file for the nib, as this could lead to unexpected results. However, xib files created by NibUnlocker are very useful for inspecting a nib file and observing how it was constructed.