Todos llevamos en nuestros bolsillos un ordenador potentisimo, y se llama iPhone. Es además el teléfono inteligente más seguro del mercado, gracias a las medidas de seguridad que Apple implementa en el teléfono, y las restricciones a la hora de instalar aplicaciones que no están en su popular App Store. Esto puede cambiar dentro de algunos años, si Apple finalmente permite la instalación de apps desde fuera de su tienda de aplicaciones, aunque de momento, no hay planes en firme para ello.
Estas restricciones además de los procesos de revisión de código en busca de código malicioso también restringe la instalación de emuladores que permita la ejecución libre de software por parte del usuario desde la App Store - pero esto no significa que no podamos instalarlos por nuestra cuenta sin pasar por ella.
Antes, para conseguir esto era necesario hacer jailbreak e incluso hay formas de instalación mediante certificados de terceros que pueden no resultarnos de confianza. Sin embargo, hay una forma fácil de instalar estos emuladores de forma, sin hacer nada "raro" en nuestros iPhone y usando incluso nuestro Apple ID para mayor seguridad. Y no hace falta ni ser desarrollador, ni haber tocado nunca jamás Xcode.
Como instalar el emulador MAME en el iPhone

Antes de empezar, quitaos el miedo de trastear con Xcode - el entorno de desarrollo de Apple para sus apps - incluso aunque lo hayáis usado. Esta guía puede parecer muy larga pero es porque la he explicado y detallado al máximo para que - precisamente - nadie se pierda. Es muy sencillo, no necesitáis cuenta de pago de desarrollador: sólo vuestro iPhone y vuestro Mac.
Hace unos meses os contaba cómo instalar el emulador de máquinas recreativas MAME en el Apple TV, incluso nos aventurábamos a compilarlo. Esta vez no hará falta ni siquiera eso, ya que nos bajaremos directamente la versión ya compilada lista para generar como proyecto Xcode.
Tengo que decir que en mis pruebas, la versión de MAME para iOS ha evolucionado de forma increíble: la interfaz es simple, fácil de utilizar, completísima - y la calidad de la emulación es impresionante. No dudéis en probarlo en vuestro iPhone para comprobarlo vosotros mismos. Vamos allá:
1.- Instalar Xcode. Esto id haciéndolo lo primero porque la descarga es rápida, pero la descompresión e instalación del entorno puede tardar dependiendo de vuestro Mac. Sólo tenéis que ir la sección de Xcode de la Mac App Store, y darle a Instalar.
2.- Crearte o usar una cuenta de desarrollador: Lo primero que necesitas es una cuenta de desarrollador. No tiene que ser de pago. Si no tenemos ninguna, podemos crear una completamente gratis (se tarda 1 minuto) desde este enlace: https://developer.apple.com/account/
2.- Descargar el repositorio Master de MAME4iOS: Accedemos a la página web del repositorio y copiáis la dirección que os indico en la siguiente imagen:

3.- Abrir el proyecto en Xcode: Una vez que tengáis el Xcode instalado, abridlo. Posiblemente se necesite instalar alguna herramienta más, el propio entorno os lo dirá y es completamente automático. Una vez que aparezca la pantalla de bienvenida, pulsad "Clone an existing project" e introducís la dirección que hemos copiado antes:

4.- Elegid en el desplegable la rama "master" y pulsáis "Clone":

5.- Os acabáis de descargar todo el código fuente de Mame para iOS. Abrid Finder y navegad hasta donde os lo habéis descargado para abrir el archivo de proyecto .xcodeproj. Por defecto, lo tendréis en: /Documentos/MAME4iOS/Xcode/MAME4iOS/MAME4iOS.xcodeproj.
Si no lo encontráis, buscadlo con Spotlight. Doble click en este archivo para abrirlo con Xcode.

6.- Dadle tiempo, que tiene que procesar todos los ficheros la primera vez que se abre...

7.- Antes de generar el ejecutable, vamos a añadir dos cosas imprescindibles: nuestro Apple ID para firmar la app y enlazar nuestro iPhone/iPad para que instale. Para la primera parte, abrid Xcode / Settings

8.- Váis a la pestaña de Accounts, pulsáis en el logo del "+" y añadís el Apple ID de desarrollador que habéis creado antes (o ya teníais). Con esto firmaremos nuestra app para poder instalarla de forma segura en nuestro iPhone.

9.- Conectad por cable vuestro iPhone a vuestro Mac y abrid Xcode / Window / Devices and Simulators. Veréis vuestro teléfono conectado, pero no emparejado aún. Para ello, debéis desbloquear el iPhone (o iPad, se hace exactamente igual) con vuestro código y "Confiar" en el Mac al que lo habéis conectado. Tendréis que activar el modo desarrollo del iPhone / iPad en Preferencias / Privacidad y Seguridad / Modo de desarrollador / (Sí).

10.- Una vez el iPhone/iPad conectado y emparejado, no tenéis que hacer nada más. Por supuesto, la versión para iPad aprovecha al máximo la mayor pantalla del iPad (¡probadlo!). La apariencia de la pantalla en un iPhone será similar a ésta:

11.- Cerramos la ventana de "Devices and Similators" y en Xcode, pulsad donde indica la flecha primero y después en la parte central superior para seleccionar la versión "Release" que es la que vamos a instalar en nuestro iPhone, tal como indica la imagen:

12.- Ahí ya varemos que vamos a instalar la versión Release y se habrá seleccionado el iPhone que hemos emparejado antes. Si no es así, seleccionadlo a mano en la ruta del paso anterior. Una vez hecho esto, veréis este error en la pestaña "Signing & Capabilities":

13.- Esto es porque tenemos que indicarle con qué cuenta firmar la app. Seleccionar en el desplegable la cuenta de desarrollo que hemos instalado antes.

14.- Os seguirá dando error porque tenéis que cambiar el "Bundle Identifier" de la app. Podéis cambiar la parte central que pone "example", poniendo lo que queráis. Yo he puesto "pedroaznar", pero aquí podéis poner la palabra que más os guste (es indiferente). Pulsad Enter y desaparecerán los errores y todo estará listo para instalar.

15.- Vamos arriba a la izquierda, y le damos al enorme botón de "PLAY" para que Xcode genere la instalación. Recordad tened en todo momento el iPhone conectado mediante cable a vuestro Mac.

16.- La primera instalación tarda algo de tiempo, no os preocupéis y dejadlo con confianza. Al cabo de un rato aparecerá un "Build Succeeded" y si miráis en vuestro iPhone... ¡encontraréis el bonito icono de MAME! Ya podéis desconectar el iPhone del Mac.

17.- Ahora vamos a enviar ROMs (los juegos) al emulador. MAME tiene muchas formas de hacerlo, incluso creando un servidor Web propio que podemos abrir desde el Mac, pero vamos a hacerlo todavía más fácil: usando AirDrop. Vamos por ejemplo a la página de ROMs de descarga legal de MAME y os bajáis las que queráis desde el Mac. Ahora podéis enviarlas directamente mediante AirPlay al iPhone. Ahí se os presentará una ventana preguntando con qué queréis abrirlo: seleccionar "MAME4iOS". Al cabo de unos segundos, aparecerán los juegos en la interfaz del MAME. Si no es así, cerrad la app y volvedla a abrir:

¡Y ya lo tenemos! El único "pero" a este proceso es que al usar una cuenta de desarrollo gratuita, la firma de la app sólo nos dura 7 días: es decir, antes de siete días, si queremos seguir usando la app, tenemos que conectar el iPhone al Mac, abrid Xcode y simplemente volved a pulsar el botón "PLAY". No es necesario hacer nad amás. La firma de la app se actualizará y no perderemos ningún juego que tengamos ya instalado.
MAME para iOS funciona espectacular

La última versión de MAME para iOS está muy bien diseñada. Ya veréis como al añadir ROMs automáticamente se baja toda la información del juego, pantalla, datos... y la capacidad de personalización de la app es tremenda: desde filtros de pantalla, diferentes tipos de controles táctiles, importación de ROMs desde iCloud (por si no tenemos un Mac a mano), skins...

Si disponéis además de un mando externo de consola, podréis conectarlo a vuestro iPhone y MAME es totalmente compatible. Incluso, si utilizáis los populares mandos que se acoplan al teléfono, como el Razer Kishi V2 que analizamos en Applesfera hace unos meses. Es completamente compatible con MAME y no hay que configurar absolutamente nada: conectar y jugar.

Espero que este pequeño tutorial os sirva para aprender algo más de Xcode (si no lo habíais usado nunca) y perderle un poco el miedo al entorno de desarrollo de Apple, que podemos aprovechar para pequeños proyectos personales como éste - y de paso aprovechar para jugar en cualquier momento a aquellos míticos juegos de antaño.
Ver 45 comentarios
45 comentarios
chimi
Cawentó Pedro!! Me has alegrado el día! Dónde te envío las cervezas??!!
faifai
Gracias Pedro. Estupendo tutorial.
Supongo que la app Mame está optimizada pa el iPad. ¿Es así? ¿puede instalarse en el iPad?
Gracias de nuevo, y un saludo.
onecom
Pedro gracias por el tutorial me lo voy a hacer ahora que ya por fin tengo Mac. Mi pena es no es haber tenido Mac antes pero al final pille el Mac Pro que anunciasteis aquí ayer.
nachosf
Muchas gracias por el tutorial, Pedro.
Sólo falta saber si es compatible con el mando de la Playstation 5…
¡Felices fiestas!
nachosf
Rectifico, al final del todo pone que sí es compatible.
Menudo vicio nos vamos a dar…
Gracias de nuevo
cowman
Que interesante. Muchas gracias por este tutorial.
Existe alguna forma similar por ejemplo para instalar un emulador de Gameboy advance o megadrive por ejemplo?
Muchas gracias
teu
Muchas gracias Pedro. Se echan de menos tutoriales como este para iPhone etc. buen trabajo.
thehound10
Applesfera: El sideloading propuesto por la UE va a hacer que tu móvil se llene de malware.
Also Applesfera: Aquí les dejó un tutorial para autofirmar código de terceros e instalar aplicaciones que no están en la App Store con una cuenta de desarrollador. ¡No tengáis miedo a instalar aplicaciones con Xcode aunque no tengáis ni papa de programación! ¡Y usando vuestro Apple ID, que por alguna razón no explicada en el artículo os inmuniza!
No entiendo nada de este blog y del concepto de seguridad que se vende aquí.
linuxok
¿Pero no era que los iPhone se llenaban de malware y te vaciaban la cuenta del banco si instalabas algo fuera de la App Store? Ah no, espera, que eso es lo que Apple quiere que pensemos, que la realidad es diferente (y apps como estas lo demuestran).
Para lo que en Android se hace en un minuto descargando el APK, aquí te hace falta un Mac, instalar XCode, crearte una cuenta de desarrollador, compilar el código por ti mismo, autofirmar la app... y lo gracioso es que hay quien sigue defendiendo el hermetismo en iOS.
inseyven
Todo esto cuando es más fácil usar Altstore
Manuel Villalobos
Buenas, esa cuenta de desarrollador es gratis?
webgeda
Buenos días:
Gracias por el tutorial; la pena que solo tenga iPhone e iPad ;(
Un saludo
azoerre
Estaba entusiasmado, pero me da error
Command PhaseScriptExecution failed with a nonzero exit code
y no hay manera de que se instale , Build Failed.
¿Ha alguien mas le ha sucedido?
punk84
Un ejemplo de los que nos estamos perdiendo con el pedazo de hardware que traen los iPhone.
Podríamos tener además PS2, Dreamcast, Gamecube, etc.. funcionando a pleno rendimiento.
onecom
Tuve la tarde libre y me dediqué y me funcionó pero para que me abra la App tengo que tener el modo desarrollador abierto si lo cierro me dice que no va que lo vuelva a abrir.
Alguna idea ? O es simplemente que apple me está diciendo paga perra?
nachosf
Pedro, dos preguntas:
1. - ¿Hay manera de jugar en un iPad con un perfil que no sea desarrollador? Me funciona perfectamente, pero siempre con ese perfil.
2.- Cuando dices que, antes de 7 días, hay que volver a generar la app desd el iMac con el dispositivo conectado, ¿ es siempre cada 7 días? Quiero decir: aunque la vuelva a generar dentro de unos días (la generé ayer con mi cuenta gratuita), ¿cada semana tenemos que hacer el mismo proceso de volver a generarla?
Muchas gracias y un saludo
galernah
Es una pasada poder disfrutar de esto!, mil gracias! Pero me surge una duda, que en mi caso creo que es un problema, si no me equivoco creo que no hay manera de usar Xcode si no tienes Ventura. Mi MBP no soporta más de BigSur, y creo recordar que la Mac App Store no deja bajar Xcode en versiones anteriores de MacOS.
mr.anderson
OOOOOH!!! y como hago desde windows hacia mi ipad?
robertomontesrodriguez
Muchas gracias pero el problema que yo tengo es que no me deja crear una cuenta de desarrollador de forma gratuita, me piden 99€ para finalizar la compra desde la web de apple. ¿ que estoy haciendo mal?
tony.fernandez.7568
Osea, necesitamos un Mac bastante reciente y por supuesto un iPhone del 12 para arriba... 2500€ mínimo.
Que guay.