I'm an avid iPhone developer and I've been developing with Xcode for Mac OS X a while (about 4 years) now. In all my days I have never seen an error from Xcode (even the crazy ones from objc) so sick and twisted that it takes almost an hour to fix. Luckily this fellow ran into the same issue (and posted it). I wasn't using a button, but a "search bar"; and when I removed it everything built just fine. I don't think IB files like multiple "bars". Oh well, back to hard coding GUIs. [error-message] *** -[UIImage encodeWithCoder:]: unrecognized selector sent to instance 0x44d470 [/error-message] I also learned that Xcode or IB doesn't like "lonely" outlets. Meaning, if you assign an instance to an outlet in IB, you better make sure the instance variable is in the corresponding class file. It will build and launch, but crash with some error like: __TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION__ Fun with WTDs (what the deuce).