¿Cómo debo aprender a codificar para crear una aplicación para el iPhone?

Hay un par de cosas que necesitas hacer para empezar con el desarrollo de aplicaciones para el iPhone.

En primer lugar, el you're va a necesitar un Mac. Si lo tienes, obtén Xcode - Xcode 4 Downloads and Resources - Apple Developer (Descárgalo desde aquí) - Este es el entorno real dentro del cual escribes código para el iOS (o el Mac para el caso)

En segundo lugar, regístrate como desarrollador de Apple - Register as an Apple Developer.
Una vez que hayas hecho eso, puedes iniciar sesión y descargar el SDK de iOS o Kit de Desarrollo de Software. El registro también es necesario para que puedas (eventualmente) presentar apps.

Las aplicaciones de iOS (tanto para el iPhone como para el iPad/iTouch) están escritas en un lenguaje conocido como Objective-C. Dado que no tienes ninguna experiencia previa, puede ser una curva de aprendizaje empinada para recogerlo. Pero tienes un par de opciones.

Podrías empezar aprendiendo Java o C. Java es más fácil para los principiantes, en mi opinión, y aunque puede que no te ayude mucho directamente con el desarrollo de iOS, serás capaz de captar los fundamentos de la programación. Una vez que te hayas hecho con el lenguaje, puedes comprar un libro sobre Objective-C y luego empezar con las aplicaciones reales de iOS.

Alternativamente, sáltate Java por completo, y empieza directamente con el desarrollo de iOS. Uno de los mejores tutoriales en línea es el Stanford Video Lecture Series - Stanford en iTunes U. (También podría YouTube, estoy seguro de que está allí también).

No estoy seguro de qué nivel de conocimiento asumen, pero si te resulta difícil de seguir, siempre puedes volver a aprender Java/Obj-C. Hay muchos libros disponibles - Amazon.com: Conceptos de Java (9780471697046): Cay S. Horstmann: El libro es uno de los que he utilizado.

Debo añadir, que realmente depende del tipo de aplicación que quieras escribir. La ruta que he descrito es genial para escribir realmente cualquier aplicación, pero para un principiante puede ser un camino difícil. Las aplicaciones escritas de esta manera se llaman aplicaciones nativas, porque se desarrollan específicamente para el iOS utilizando la tecnología de Apple. Sin embargo, si quisieras escribir un juego, por ejemplo, esto probablemente sería un procedimiento muy largo usando Xcode y Obj-C.

Para el desarrollo de juegos para el iOS, hay muchos motores de juegos disponibles que te permiten escribir código en lenguajes mucho más fáciles y luego convertirlos automáticamente en código iOS.

Sugeriría mirar Unity - UNITY: Game Development Tool - te permite escribir en JavaScript y puedes publicar este juego en cualquier plataforma - Mac, Windows, iOS o incluso Android. Si eliges este camino, primero aprende Java (aunque podrías saltártelo y empezar con los tutoriales de UNITY). JavaScript es prácticamente lo mismo. Me tomó alrededor de una semana para entender todo el sistema de Unity (aunque yo ya había trabajado con Java) utilizando esta serie de tutoriales -

Es una gran herramienta y realmente impresionante para el desarrollo de juegos.

Espero que esto ayude!