Esercitazione 5 - Il mobile: iOS¶
Per compilare le applicazioni iOS è necessario Xcode, disponibile gratuitamente sull’App Store di macOS <https://apps.apple.com/au/app/xcode/id497799835?mt=12>`__.
Una volta installato Xcode, possiamo prendere la nostra applicazione e distribuirla come applicazione iOS.
Il processo di distribuzione di un’applicazione su iOS è molto simile a quello per la distribuzione come applicazione desktop. Per prima cosa, si esegue il comando create
, ma questa volta si specifica che si vuole creare un’applicazione 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 volta completata questa operazione, avremo una cartella build/helloworld/ios/xcode
contenente un progetto Xcode, oltre alle librerie di supporto e al codice dell’applicazione necessario per l’applicazione.
Si può quindi usare Briefcase per compilare l’applicazione 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
Ora siamo pronti a eseguire la nostra applicazione, usando briefcase run iOS
. Verrà richiesto di selezionare un dispositivo per il quale compilare; se sono stati installati simulatori per più versioni dell’SDK di iOS, potrebbe anche essere richiesto quale versione di iOS si desidera utilizzare. Le opzioni visualizzate potrebbero essere diverse da quelle mostrate in questo output; come minimo, l’elenco dei dispositivi sarà diverso. Per i nostri scopi, non importa quale simulatore si sceglie.
(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)...
===========================================================================
...
Questo avvierà il simulatore iOS, installerà la vostra applicazione e la avvierà. Si dovrebbe vedere il simulatore avviarsi e alla fine aprire l’applicazione iOS:
Se si sa in anticipo a quale simulatore iOS si vuole puntare, si può dire a Briefcase di usare quel simulatore fornendo un’opzione -d
(o --device
). Utilizzando il nome del dispositivo selezionato al momento della creazione dell’applicazione, eseguite:
$ briefcase run iOS -d "iPhone SE (3rd generation)"
Se sono disponibili più versioni di iOS, Briefcase sceglierà la versione di iOS più alta; se si vuole scegliere una versione di iOS in particolare, si dice di usare quella versione specifica:
$ briefcase run iOS -d "iPhone SE (3rd generation)::iOS 15.5"
In alternativa, è possibile assegnare un nome UDID a un dispositivo specifico:
$ briefcase run iOS -d 2614A2DD-574F-4C1F-9F1E-478F32DE282E
Prossimi passi¶
Ora abbiamo un’applicazione sul nostro telefono! C’è un altro posto dove possiamo distribuire un’applicazione BeeWare? Consultate Tutorial 6 per scoprirlo…