You may think it is great to be able to use Mono for iPhone development, but I think it is completely backwards. A non-native toolset will always lag behind (hint: Mono vs. .NET, Moonlight vs. Silverlight). If you can't be bothered to learn Objective-C,
a very simple and elegant language; Cocoa Touch, which, as far as frameworks go, is much nicer than .NET; and Interface Builder, which is leaps ahead of Microsoft's way of designing UIs (just IMHO), you are bound to produce crappy bloated apps no one wants
to use. Sure, it is interesting--as a proof of concept and a curiousity, but no more than that. Just because you can use C# and Mono to program iPhone, doesn't mean you should.
Hmmm Cocoa Touch much nicer than .Net?
I'm building iPhone apps at the moment and although i like Objective-C, I'm finding alot of things lacking in the Cocoa Framework such as decent XML support and WS* web service support for examples.
I do like interface builder though and using proper design patterns such as MVC built into Xcode templates, but I think saying Cocoa Touch is better than .Net is a pretty blinkered view or at best an opinion.
And as for learning Objective-C it really isn't that hard if your already an OO developer, in fact it's a pretty simple language. The hardest part is reading through the documentation and getting to know the Cocoa framework libraries. Apple provide very
good documentation for this IMO which is all easily downloadable as PDF's
Your going to have to learn the UI framework and design patterns whether your using native Cocoa or Mono, yeah it would be nice to maybe use C# and a first class language against different frameworks i.e. Cocoa Touch but that a nirvana that's not gonna