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:
- Cygwin
http://www.cygwin.com/setup.exe - Xcode 2.5 Developer Tools (Disk Image) (900Mb aprox!)
https://connect.apple.com/cgi-bin/WebObjects/ MemberSite.woa/wa/getSoftware?bundleID=19907 - PowerISO
http://www.poweriso.com/download.htm - WinChain 1.0.1
http://winchain.googlecode.com/files/winChain%201.0.1.zip - PreBuiltToolchain
http://tinyurl.com/2vtug9 - HelloWorld
http://www.iphonedevdocs.com/tutorial.php?t=9
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
NO FUNCIONA
Do you wish to connect to your device and download the required files? [y/n]:
Alguna ayuda?
Te agradezco tu ayuda.
Usuaria de mac, mi ratón tiene 2 botones.
Mi OSX no ha petado nunca, suerte que ya no utilizo aquel virus llamado Windows.
A mi no me sale nada que hay que hacer para llegar ahi?
Será que no sabeis instalar programas o yo que se...
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.
$
Quiero aprender a crear aplicaciones para iPhone pero no encuentro en ningun lado ese archivo.