I come from a .Net C# background, what's the best way to learn how to program native applications for the iPhone?
Have a look at the Stanford course on iPhone development. It will really get you started.
If you know C# , you can try MonoTouch, this is the edition of Mono for the iPhone that provides access to all of the native iPhone APIs.
Features
- C# and .NET on the iPhone
- .NET Bindings to Native APIs
- Distribute on the Apple App Store
- Enterprise deployable
- MonoDevelop Integration
- XCode Integration
you can see this tutorial MonoDevelop HelloWorld
In case you didn't know it: You can also use C# to program on the iPhone through MonoTouch. And in fact MonoTouch does also compile down to native ;)
I found the Beginning iPhone 3 Development book to be a very good way to get started.
Everyone has posted nice resources, but even if you already know the language you have to use, I just wanted to state it so that other people who probably don't know it, can see.
The language used for developing Apple sanctioned, native applications is Objective-C. Of course, you can mix in C and C++, but the SDK itself is in Objective-C, so you might want to learn that. It looks a bit scary at first to most people, usually those coming from higher level languages such as C#. The brackets and supposed 'verboseness' turns some people off. After a while though, it grows on you and you'll notice it's a very readable and self-documenting language.
I personally used the book titled Learning Objective-C which was perfect for me as someone who is already familiar with programming languages, preferably C-style languages, and wanted to learn about the main differences in that language. The other, longer and I imagine better reference of a book is the popular Programming in Objective-C 2.0. This book is longer and starts off assuming the reader has 0 programming experience, going over control structures, Object Oriented Programming basics, etc. I believe both books have cheaper and searchable PDF versions.
Have fun and I hope all goes well for you in this venture.