Objection! (Phoenix Wright)

Instalar ScummVM en IOS sin jailbreak

Fecha: 8 abril, 2019
Etiquestas: , , ,

No soy mucho de hacer tutoriales en mi blog, pero hoy quería traeros una cosa que me parece muy interesante para los que tenemos Ipad o Iphone y que no he encontrado que esté demasiado bien documentado.

Resulta que hay una forma de instalar programas sin tener jailbreak en nuestro dispositivo, pero tiene dos pegas: Es un proceso bastante engorroso y se tiene que hacer cada semana.

Lo de que es un proceso bastante engorroso, os aviso desde un principio porque a mi me han surgido mil y un problemas mientras lo hacia y aunque yo intentaré explicar los problemas que me he ido encontrando, es posible que os encontréis con otros al hacerlo vosotros.

¿Qué necesitamos?

  • Un dispositivo que funcione con IOS (Iphone, Ipod touch o Ipad)
  • Un Mac o en su defecto, una máquina virtual con MacOS (explicaré como hacerla)
  • Una cuenta gratuita de desarrollador de Apple (explicaré como crearla)
  • Toda la paciencia del mundo

Una máquina virtual con MacOS

Si tenéis un Mac relativamente actual, que funcione al menos con MacOS High Sierra (10.13.6), podéis saltaros este paso.

De lo contrario, tendréis que instalaros VirtualBox o VMWare para crear una máquina virtual.

Años atrás, con otros Ipads que había tenido, me había bastado con instalar MacOS El capitán, que funcionaba bastante bien en VirtualBox pero debido a que los nuevos Ipads tienen una arquitectura nueva (arm64e) es necesario instalar al menos MacOS High Sierra.

El problema que me he encontrado yo es que con esta versión de MacOS, tenia problemas al conectar el Ipad por USB 3.. El sistema operativo no reconocía el dispositivo correctamente y no podía transferir datos (Instalar el Extension Pack no me resolvió el problema)

Al final, me di por vencido e instalé VMWare, que no me ha dado ningún problema, así que os aconsejo que lo hagáis directamente con este gestor de máquinas virtuales, aunque yo sigo prefiriendo VirtualBox en general.

Para crear una máquina virtual con MacOS Hight Sierra en VMWare teneis que seguir estos pasos:

1. Descargar un disco duro con macOS High Sierra desde este enlace:

https://drive.google.com/drive/folders/1CyUVsOOsadKAwXblwawWqcp9zJqj43Df

Si tenéis problemas para descargarlo, podéis hacer una copia del archivo en vuestro GDrive y descargarlo de allí.

Una vez lo tengáis, tendréis que descomprimirlo en vuestro disco duro, teniendo en cuenta que necesitareis el archivo para hacer funcionar la máquina virtual.

También necesitareis el Patch Tool y VM Tool:

https://drive.google.com/drive/folders/1clk2bNLT58nk3Yi75KMP4BU0nln-IcxU

2. Instalar VMWare y parchearlo:

Una vez que hayáis instalado VM Ware, con el archivo que os habéis bajado “Patch Tool.rar”, lo descomprimís y ejecutáis “win-install.cmd” como administrador.

Con esto, prepararás VM Ware para poder instalar máquinas MacOS en ella y que el sistema operativo se crea que está siendo ejecutado en un Mac real.

3. Crear la máquina virtual

Abrir VM Ware, crear una nueva máquina “Apple Mac OS X” con versión “macOS 10.13”.

4. Editar la máquina virtual

Edita la máquina virtual y asigna 4GB de RAM y al menos 2 núcleos de CPU.

También deberás borrar el disco duro y asignar el que te has descargado. Si te pide convertirlo a un nuevo formato, no es necesario que lo hagas.

5. Edita el archivo de configuración VMX

En la carpeta donde has alojado la máquina virtual debería haber un archivo con extensión .VMX que deberás abrir con un bloc de notas y añadir la siguiente línea al final del archivo:

smc.version=”0”

6. Ahora puedes ejecutar la máquina virtual y seguir con el proceso de configuración del sistema operativo.

Instalar XCODE

Para poder compilar y transferir ScummVM tendremos que instalar el IDE de programación XCode al menos en su versión 10.1 aunque si podéis instalaros una versión superior, hacedlo.

Tened en cuenta que la versión de XCode que podeis instalaros con la máquina virtual que hemos creado con High Sierra (10.13.6) es XCode 10.1.

Tenéis un listado con las versiones de XCode y de MacOS mínimo que necesitáis aquí:

https://en.wikipedia.org/wiki/Xcode#Version_comparison_table

Para descargaros un XCode antiguo podéis hacerlo desde aquí:

https://developer.apple.com/download/more/

Una vez que lo hayais instalado en la máquina virtual, ejecutarlo para que termine de hacer las operaciones que necesite, hasta que lleguéis a la página de selección de proyecto.

Descargar el repositorio de ScummVM

Para esto es necesario abrir un terminal y poner la siguiente instrucción:

$ git clone https://github.com/scummvm/scummvm.git

Una vez que os hayáis bajado el repositorio, tendréis una carpeta “scummvm” donde lo hayáis hecho.

Ahora tendréis que compilar la utilidad “create_project” y para ello seguid estos pasos:

1. Desde el terminal, entrar en la carpeta correspondiente con:

$ cd scummvm/devtools/create_project/xcode

2. Compilar:

$ xcodebuild

Si os da un error (a mi me lo dio), yo lo solucioné con la siguiente instrucción, ejecutándola desde donde habéis instalado XCode que seguramente será la carpeta de Aplicaciones:

$ sudo xcode-select -s Xcode.app/Contents/Developer/

Descargar las librerías necesarias

Simplemente tenéis que crear un directorio “build” en el mismo sitio donde tenéis la carpeta “scummvm” y dentro de esta nueva carpeta, descomprimir el siguiente fichero:

https://www.scummvm.org/frs/build/scummvm-ios7-libs.zip

Aquí me encontré de nuevo un problema y es que las librerías que me descargué originalmente tenían los nombres mal puestos y estuve indagando hasta que encontré este fichero.

Ahora deberíais tener dos directorios “scummvm” y “build” con todo lo necesario para compilar y transferir ScummVM a vuestro dispositivo.

3. Crear el proyecto de XCode:

Desde la carpeta “build”, ejecutar el siguiente comando: (en una única línea)

../scummvm/devtools/create_project/xcode/build/Release/create_project ../scummvm
--xcode --enable-fluidsynth --disable-jpeg --disable-bink --disable-16bit --disable-mt32emu
--disable-nasm --disable-opengl --disable-theora --disable-taskbar --disable-libcurl
--disable-sdlnet --disable-cloud

Aquí, originalmente me dio un par de problemas con librerias de Curl y otras así que buscando vi que debía añadir un par de –disables más, con lo que, si te ocurre lo mismo, probablemente tengas que añadir algún otro.

Una vez creado el proyecto, es hora de ejecutarlo:

open scummvm.xcodeproj

Compilar y transferir el proyecto a tu dispositivo

Bueno, aquí viene la parte más tediosa si cabe que es compilar el proyecto.

Si has seguido mis instrucciones, no deberías de tener muchos más problemas, pero en este punto yo tuve que hacer bastantes intentos hasta que fui solucionando los errores que me salían.

Ahora es momento de que conectes tu dispositivo y a través del menú de VM Ware, traspases el control a la máquina virtual.

Si todo ha salido bien, se debería abrir ITunes y preguntarte si es un dispositivo de confianza.

Una vez hayas configurado todo lo que te pide ITunes, verás que en XCode, en la parte superior sale tu Ipad.

Ahora, deberás seleccionar el proyecto en el árbol de ficheros de la izquierda (1), e ir a la pestaña “General” para configurar un par de cosas:

1. Cambia el “bundler identifier” (2) por algo como org.tunombre.scummvm, si lo dejas tal como está, te dará problemas.

2. Tienes que configurar la parte de signing (3), para lo que necesitarás una cuenta de desarrollador gratuita de Apple.

Para crear una cuenta de desarrollador gratuita tienes que ir a https://developer.apple.com/ y clickar en “Member Center” donde te pedirá que te autentifiques con tu Apple ID.

Una vez lo hayas hecho, desde XCode podrás firmar con tu cuenta en la parte de “Signing”.

3. Ahora solo queda darle al menú “Product” y “Run”.

Este proceso tardará bastante y lo peor es que si sale un error, saldrá al final, pero si todo ha salido bien, os saldrá un mensaje de que está transfiriendo la aplicación a vuestro dispositivo, donde veréis que aparece el icono de ScummVM por fin.

Ahora puedes cerrar XCode pero no borres nada porque la cuenta gratuita de desarrollador que has creado solo te permite firmar las aplicaciones por una semana con lo que pasado este tiempo, tendrás que abrir el proyecto, conectar tu Ipad y darle a “Run” de nuevo.

La buena noticia es que, si lo has hecho una vez y si no tocas nada, el proceso es rápido.

Actualización de errores..

Actualizo algunas cosas que me han ido comentando los lectores que se han atrevido a seguir el tutorial, por si os sirve:

* Puede que al clonar el repositorio con «git» os de un error de «invalid active developer path», que deberíais solucionar con la siguiente instrucción:

$ xcode-select –install

* Si al intentar compilar el proyecto, veis que vuestro XCode no tiene soporte para la versión de vuestro dispositivo, podéis descargaros el «DeviceSupport» que necesitéis desde aquí:

https://github.com/iGhibli/iOS-DeviceSupport/tree/master/DeviceSupport

Simplemente descargáis los archivos compatibles con la versión de vuestro dispositivo y los ponéis en la carpeta de Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/

Allí veréis que están todas las versiones de IOS que soporta vuestro XCode, así que simplemente añadirla y reiniciar el proyecto para que os deje compilar.

Pasarle los juegos a la aplicación

Si habéis conseguido llegar hasta aquí, lo único que necesitáis es pasarle los juegos al ScummVM, algo que podéis hacer desde el ITunes de vuestro ordenador, sin necesidad de la máquina virtual.

Simplemente arrastrar las carpetas de los juegos en la parte de “Compartir ficheros” de ITunes y cuando ejecutéis de nuevo ScummVM podréis añadir los juegos sin problema.

Felicidades, ahora puedes jugar a las mejores aventuras gráficas de la historia desde tu Ipad/Iphone.

12 comments

  1. Alberto dice:

    Ha funcionado a la primera.

    Muchas gracias.

  2. chafre dice:

    Compañero, soy feliz, working en mi ipad mini 2!!!! muchísimas gracias ,ya te dije que había muy poca información!!! y te lo has currado mucho!! good job!!!!

    1. oscargeek dice:

      Pues con este método te puedes animar a instalarte Dosbox, Retroarch y bastantes cosas más. Si necesitas ayuda en algo, ya sabes 🙂

  3. Osiris dice:

    Pues debo ser torpe… todo va bien pero a la hora de darle a Rub en xcode, ya último paso, no funciona. Da varios errores compilado y me pregunta por unos archivos vorbis que dice que no existen. No se si tiene que ver con que ya se ha actualizado scummvm desde que hiciste este tutorial…igual algunos archivos han cambiado o algo…

    1. oscargeek dice:

      Hola Osiris, eso es porque no encuentra la carpeta con last librerías, que es el archivo Zip. Verifica ese paso y asegúrate de que tienes las dos carpetas en el mismo nivel. Te funcionará seguro porque ese fallo me pasó a mí también y era eso.

  4. Osiris dice:

    Tengo ambas carpetas juntas, la que se ha creado llamada scummvm y la carpeta built, ambas están en la carpeta con mi nombre de usuario (junto a documentos, videos, musica…)

  5. Osiris dice:

    Por cierto… soy el único al que no se le oye nada? Ya logre´we compilar pero por mas que toco opciones de audio, no escucho nadita. Y el iPad tiene volumen a tope.

  6. Alberto dice:

    Hola Osiris,
    Asegúrate de que no tienes desactivadas las notificaciones. Desde el centro de control, que esté activa la campanita. Me ha pasado en algún otro juego de ipad.

    1. oscargeek dice:

      También puede ser por el juego, está versión de ScummVM creo recordar que no soporta la música en MP3 que si soporta la versión de PC.

      De hecho, los Broken Sword se me crashean por el sonido, tengo que indagar cómo arreglarlo.

  7. Sancho dice:

    Hola, si este proceso se hiciera con una cuenta de desarrollador de pago, habría que reinstalarla cada semana? Conozco a desarrolladores iOS y estaba pensando pedirles el favor…
    Gracias y enhorabuena por el tuto.

    1. oscargeek dice:

      Hola Sancho. Si lo pasas con una cuenta de desarrollador de pago, lo tienes que reinstalar 1 vez al año (si no lo han cambiado en los últimos meses)

      Si conoces a alguien que tenga licencia de desarrollador, pídeselo a él y así te ahorras tener que hacerlo casa semana. Saludos.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies y gente horrible me obliga a molestarte con estos mensajes que seguramente no te interesan. Así que puedes leer nuestra aburrida política de cookies o continuar con tu vida… ACEPTAR

Aviso de cookies