Pretending the underpinnings of your program are some sort of black-box may be the norm, but I have never been satisfied with it.
Bugs happen in the “black box” as well, and even though I don’t need to have the actual source code for the libraries I use, I very soon got the habit of stepping through their innards whenever I had something that wasn’t explainable only by looking at my own code.
One of the very first tools I used to hack my way around system libraries was MagicHat. It’s a small application written by Raphael Szwarc that takes the frameworks you use, and prints out every class, method and attributes it can find. Then all you have to do is guess what the function does and what kind of arguments you should use, and chances are, most of your problems are gone.
I had the chance to stumble upon the source code of this nifty application some time ago, and to update it for the current version(s) of Mac OS X.
Now it’s available for everyone to use. After 3 or 4 years of inactivity, it’s back online. Enjoy. I know I will :)