And then we have Xcode, the program that has inspired a twitter account dedicated to its severe brokenness.
And let's not forget their terrible provisioning process that always breaks in continuous integration systems, and the asinine limit of 100 test devices. Oh, and their train wreck of a command line tool suite.
And then there's their absolutely bizarre behavior of replacing every internal function name with <redacted>, and disabling stdout on iOS 6.
And then we have the "eat all memory" pager system in OSX that can chew through 8 gigs like candy and bring your system to its knees should you ever try to run more than 5 programs + Xcode.
If there were an iOS development environment + simulator for Ubuntu, I'd wipe this laptop and switch over.