Objective-C may be your favorite programming language - but that does not mean that XCode is your favorite IDE, right? If you could only change little bits of Xcode`s functionality here and its UI there... turns out that you can! Xcode does, in fact, have an undocumented plug-in interface.
The problem with that interface, however, is that you do have to restart Xcode every time you recompile your plug-in. This is especially annoying while you are developing the plugin - you lose most of your valuable time in restarting your IDE.
The Xcode Plug-Ins toolkit defines a lightweight interface and a base class for all other plug-ins and acts as a gatekeeper between Xcode and your code (pun fully intended).
If you change your code and recompile your plug-in you can just dynamically unload the old version and load the new version without interrupting your work. Try it - it really sounds more complicated than it is.
Detailed installation and usage instructions for Xcode Plug-Ins are available in the included README file.