Tutorial 5 - Para móviles: iOS

Para compilar aplicaciones de iOS necesitaremos Xcode, que está disponible de forma gratuita en la App Store de macOS.

Una vez que tengamos Xcode instalado, podemos tomar nuestra aplicación e implementarla como una aplicación de iOS.

El proceso de implementación de una aplicación en iOS es muy similar al proceso de implementación como aplicación de escritorio. Primero, ejecuta el comando crear, pero esta vez especificamos que queremos crear una aplicación para iOS:

(beeware-venv) $ briefcase create iOS

[helloworld] Generating application template...
Using app template: https://github.com/beeware/briefcase-iOS-Xcode-template.git, branch v0.3.18
...

[helloworld] Installing support package...
...

[helloworld] Installing application code...
Installing src/helloworld... done

[helloworld] Installing requirements...
...

[helloworld] Installing application resources...
...

[helloworld] Removing unneeded app content...
...

[helloworld] Created build/helloworld/ios/xcode

Una vez que esto se complete, tendremos un directorio build/helloworld/ios/xcode que contiene un proyecto Xcode, así como las bibliotecas de soporte y el código de aplicación necesario para la aplicación.

Luego puedes usar Briefcase para compilar tu aplicación usando briefcase build iOS:

(beeware-venv) $ briefcase build iOS

[helloworld] Updating app metadata...
Setting main module... done

[helloworld] Building Xcode project...
...
Building... done

[helloworld] Built build/helloworld/ios/xcode/build/Debug-iphonesimulator/Hello World.app

Ya estamos listos para ejecutar nuestra aplicación, utilizando briefcase run iOS. Se te pedirá que selecciones un dispositivo para el que compilar; si tienes instalados simuladores para varias versiones del SDK de iOS, puede que también se te pregunte a qué versión de iOS quieres apuntar. Las opciones que se le muestren pueden diferir de las que se muestran en esta salida; como mínimo, es probable que la lista de dispositivos sea diferente. Para nuestros propósitos, no importa qué simulador elija.

(beeware-venv) $ briefcase run iOS

Select simulator device:

   1) iPad (10th generation)
   2) iPad Air (5th generation)
   3) iPad Pro (11-inch) (4th generation)
   4) iPad Pro (12.9-inch) (6th generation)
   5) iPad mini (6th generation)
   6) iPhone 14
   7) iPhone 14 Plus
   8) iPhone 14 Pro
   9) iPhone 14 Pro Max
   10) iPhone SE (3rd generation)

>  10

In the future, you could specify this device by running:

    $ briefcase run iOS -d "iPhone SE (3rd generation)::iOS 16.2"

or:

    $ briefcase run iOS -d 2614A2DD-574F-4C1F-9F1E-478F32DE282E

[helloworld] Starting app on an iPhone SE (3rd generation) running iOS 16.2 (device UDID 2614A2DD-574F-4C1F-9F1E-478F32DE282E)
Booting simulator... done
Opening simulator... done

[helloworld] Installing app...
Uninstalling any existing app version... done
Installing new app version... done

[helloworld] Starting app...
Launching app... done

[helloworld] Following simulator log output (type CTRL-C to stop log)...
===========================================================================
...

Esto iniciará el simulador de iOS, instalará tu aplicación y la iniciará. Deberías ver cómo se inicia el simulador y, finalmente, cómo se abre tu aplicación iOS:

Ventana del Tutorial 5 de Hello World, en iOS

Si sabes de antemano a qué simulador iOS quieres dirigirte, puedes decirle a Briefcase que utilice ese simulador proporcionando una opción -d (o --device). Utilizando el nombre del dispositivo que seleccionaste cuando creaste tu aplicación, ejecuta:

$ briefcase run iOS -d "iPhone SE (3rd generation)"

Si tienes varias versiones de iOS disponibles, Briefcase elegirá la versión de iOS más alta; si quieres elegir una versión de iOS en particular, dile que utilice esa versión específica:

$ briefcase run iOS -d "iPhone SE (3rd generation)::iOS 15.5"

O bien, puede nombrar un UDID de dispositivo específico:

$ briefcase run iOS -d 2614A2DD-574F-4C1F-9F1E-478F32DE282E

Siguientes pasos

¡Ya tenemos una aplicación en nuestro teléfono! ¿Hay algún otro lugar donde podamos desplegar una aplicación BeeWare? Visita Tutorial 6 para averiguarlo…