La odisea de programar para iPhone usando WINDOWS

Febrero tenía que ser el mes en que Apple sacase el SDK del iPhone y todos pudieramos programar -mejor o peor- nuestras aplicaciones, al menos dentro del marco legal de del señor Jobs, ya que hasta el momento existían y existen herramientas para poder hacerlo por otras vías.

Nunca me planteé programar algo por desconocer el lenguaje y sobre todo por lo dificil pintaba el asunto (hacks, compilaciones, software rarísimo, comandos en Linux...), así que me autojustificaba con un “hasta que no salga el SDK...” y seguía consumiendo software de los repositorios, ese cajón de programas que no para de crecer, obra de hackers y magia negra, que es lo que en mi opinión había que hacer para poder crear algo ejecutable en un iPhone.

El domingo pasado en casa del Mazius-Ma vi la luz cuando me enteré de que Apple había lanzado ya su SDK, cogí el coche y fui corriendo hasta casa, encendí el ordenador, entré en apple.com y... “SOLO PARA USUARIOS DE MAC”. Eh? Cómo que solo? y los que usamos ratones de dos botones?

No había corrido desde Cala Blava hasta casa para conformarme con esa respuesta, y ya que estaba decidí informarme un poco más sobre el lado oscuro de la escena del iPhone. Tras leer en distintos sitios pude comprobar como lo que para mi era magia negra era en realidad software con nombre, apellidos y además gratuito.

Durante los siguientes días he estado descargando, buscando, leyendo, buscando, probando y buscando hasta que finalmente he llegado a completar la primera fase de cualquier experiencia con un lenguaje nuevo: ejecutar el “Hola Mundo”. Y eso es lo que voy a explicar, ya que no he visto ningún tutorial en castellano que lo haga ni en inglés que recoja todos los pasos.

1. Ponte cómodo

Antes de nada vamos a tener que bajar más de 1Gb en software así que ves pensando en qué ocuparás tu tiempo mientras tanto.

Descargamos entonces lo siguiente:

2. Instala PowerISO

  • Lo usaremos para extraer los archivos de la imagen que hemos descargado (Xcode 2.5 Developer Tools)

3. Instalar WinChain

  • Extrae PrebuiltToolchain
  • Ejecuta WinChain, pulsa Browse y selecciona la carpeta donde has descomprimido PrebuiltToolchain
  • Pulsa el primer botón: “Copy Toolchain Files into Place”
  • Pulsa el tercer botón para instalar Notepad++

4. Instalar Gygwin

  • Cuando pida que elijamos un sitio desde el que descargar introduciremos una nueva URL indicando la siguiente: http://www.iphonegameover.com/cygwin pulsamos “Add”, marcamos la URL que hemos introducido y “Next”.
  • La siguiente ventana nos pregunta qué paquetes queremos instalar. La selección por defecto es correcta, así que “Next”.

5. Abrir Xcode 2.5 Developer Tools

  • Por medio de PowerISO extraemos el siguiente archivo de la imagen Xcode 2.5 Developer Tools: \Packages\Packages\MacOSX10.4.Universal.pkg\ Contents\Archive.pax.gz
  • Guardamos el archivo en C:\cygwin\home\Administrator

6. Nos vamos a Inicio > Programas > Cygwin y ejecutamos “Cygwin Bash Shell”

  • Aparecerá una ventana de MSDOS. Cuando nos pregunte “Do you wish to connect to your device and download the required files? [y/n]:” pulsamos “y”
  • Indica la dirección IP de tu iPhone cuando nos pregunte “Please enter the remote IP address of your device”. Si no sabes como obtener la IP del iPhone entra en “Settings > Wi-Fi” y clica en la flech azul que figura a la derecha de la red inalámbrica.
  • Cuando nos pregunte “Are you sure you want to continue connecting (yes/no)?” escribe “yes”
  • SSH creará un archivo con el root file system una vez introduzcas el password de tu iPhone (ojo, el password la conexión SSH no es el PIN!. Prueba con “alpine”)
  • Espera cerca de 5 minutos mientras se crea el archivo.
  • Si has llegado hasta aquí verás el siguiente mensaje “Found Archive.pax.gz in currect directory. Extrating /home/David/Archive.pax.gz...”
  • Y si todo ha salido bien el proceso terminará con el siguiente “Your toolchain installation is now complete!”. ¡Bien!

7. Abrimos el proyecto de ejemplo “HelloWorld” en Notepad++

  • De momento no vamos a modificar nada, o por lo menos no es el objetivo de este tutorial. Pero está bien abrirlo y ver esos códigos en C tan hermosos. Ponerlos a pantalla completa y haceros una foto junto a ellos, esto os ayudará más adelante para fardar delante de los amigos y despertar el deseo entre las feminas.

8. ¡Acción!

  • Abrimos Cygwin
  • Navegamos entre los directorios hasta llegar al proyecto (la carpeta) de “HelloWorld” que tenemos
  • Asignamos privilegios a la carpeta con “# chmod 755 –R HelloWorld” seguido del nombre de la carpeta.
  • Compilamos el ejemplo por medio de la instrucción “# make” · Si todo ha ido bien ya tenemos los archivos necesarios para introducirlos en el iPhone

9. Un último paso

  • Abrimos Photoshop y guardamos un archivo png con el nombre icon.png de 57x57 pixels con el dibujo del icono que queremos que tome la aplicación una vez lo tengamos en el iPhone.

10. Subimos el resultado al iPhone

  • Conectamos por FTP al iPhone y subimos la carpeta del proyecto “HelloWorld” en /Applications/ junto con todos los demás programas. La carpeta la deberemos renombrar para a “HelloWorld.app” para que la reconozca.
  • Por último asignamos privilegios de nuevo: “# chmod 755 –R HelloWorld.app

11. Ejecuta tu HelloWorld!

  • Reinicia el iPhone y verás tu icono junto con los demás en el spring board. ¡Viva la comunidad!

15-03-2008


Comentarios:

10-04-2008 | Óscar ¿Pero todo hecho en un MAC o con ratón de dos botonos? Creo que no queda claro en qué máquina se instala. Gracias.

14-04-2008 | SaveR Todos los pasos son para Windows. Si tienes un MAC el SDK de Apple lo facilita todo muchísimo y nada de lo aquí explicado es necesario, pero solo si tienes MAC, de ahí que me pusiera a buscar como llevar a cabo lo mismo en Windows.

05-05-2008 | Cesar ¿Se puede instalar software mas actualizado, por ejemplo Instalar el Xcode 3 en lugar del Xcode 2.5? o Solo funciona con el sotfware indicado. Gracias

05-05-2008 | SaveR Cesar la verdad es que no he probado a usar una versión superior, pero me arriesgaría a decir que sí.

21-05-2009 | yea hola, el proyecto helloworld no esta disponible, al abrir la pagina me sale error como si no existiera la pagina, te agradeceria que me puedieras dar una solucion rapido, muchas gracias

21-05-2009 | yea por cierto tambien al iniciar winchair me da error "la aplicacion no se ha podido inicializar correctamente. haga clic en aceptar para terminar la aplicacion".

13-11-2009 | Rick el link de : http://www.iphonegameover.com/cygwin
NO FUNCIONA

23-09-2010 | Marta A mi me han funcionado todos los links. Volver a chequearlos.

30-11-2010 | Paolo El link de http://www.iphonegameover.com/ ya no se encuentra mas en linea.

10-02-2011 | Elena Ya se que este post tiene un tiempo pero no puedo abrir la imagen

06-03-2011 | Sergio Ya se que este post es muy antiguo pero cuando abro cygwin no me sale esto:

Do you wish to connect to your device and download the required files? [y/n]:

Alguna ayuda?

20-04-2011 | Rodolfo Realizar la instalacion en windows provee la misma funcionalidad que con el SDK para MAC o esta limitado en librerias o en otras funcionalidades.

01-05-2011 | Alex Podrias volver a subir el hola mundo, xk no va el enlace

05-05-2011 | lobozoldick Estimado, encuentro fenomenal tu aporte, pero me gustaría ver si tu puedes subir el archivo que se tiene que extraer del xcode 2.5, ya que mi internet es lenta y por lo que veo sólo se utiliza un archivo de toda la imagen.

Te agradezco tu ayuda.

01-10-2011 | Noe "Eh? Cómo que solo? y los que usamos ratones de dos botones?"

Usuaria de mac, mi ratón tiene 2 botones.

Mi OSX no ha petado nunca, suerte que ya no utilizo aquel virus llamado Windows.

19-10-2011 | Carlos No paso de "Do you wish to connect to your device and download the required files? [y/n]: "

A mi no me sale nada que hay que hacer para llegar ahi?

12-08-2012 | Jobs Pues a mi tampoco me a petado nunca el Windows 7
Será que no sabeis instalar programas o yo que se...

25-02-2013 | iJEL a mi me aparece lo siguiente y no se que hacer.

Your group is currently "mkpasswd". This indicates that
the /etc/passwd (and possibly /etc/group) files should be rebuilt.
See the man pages for mkpasswd and mkgroup then, for example, run
mkpasswd -l [-d] > /etc/passwd
mkgroup -l [-d] > /etc/group
Note that the -d switch is necessary for domain users.
$

09-07-2013 | Abelardo Alguien por favor me puede pasar algun link en el que pueda descargar el preBuiltToolchain.rar...
Quiero aprender a crear aplicaciones para iPhone pero no encuentro en ningun lado ese archivo.

Pues yo pienso que:


Suscribirse