IB seems to be a stumbling block, given how many Mac development newbies post to mailing lists asking how to avoid using it to build interfaces.
Maybe because it doesn't generate code? And sometimes people have difficulty working out how their code relates to the objects in IB, and how you connect the two, and how the objects in a nib communicate to objects in other nibs.
Hell, I've been using IB and Objective-C since 1992, and am still figuring out the new Xcode 4 IB.
I tried to get into iOS about 3.5 years ago. I failed miserably. IB was a big part of that...
Trying to get two objects to line-up horizontally with the designer in Eclipse... Well, it makes me want to punch something.
iOS taking twice as long had little to do with Objective-C, although I do find the language frustrating at times. But that's just like any other language I guess. If I had a dollar for every time I cursed at Javascript...