Segui le istruzioni riportate di seguito per creare app di esempio per iOS con il MediaPipe Framework. Per scoprire di più su queste app di esempio, inizia da Ciao mondo! su iOS.
Creazione di app di esempio per iOS
Prerequisito
Installa Mediapipe Framework seguendo queste istruzioni.
Installa Xcode, quindi installa gli strumenti a riga di comando utilizzando:
xcode-select --install
Installa Bazelisk.
Ti consigliamo di utilizzare Homebrew per ottenere le versioni più recenti.
brew install bazelisk
Installa la libreria Python "six". Questo è necessario per TensorFlow.
pip3 install --user six
Clona il repository MediaPipe.
git clone https://github.com/google/mediapipe.git
Configurare un prefisso ID bundle
Tutte le app per iOS devono avere un ID pacchetto e devi disporre di un profilo di provisioning che ti consenta di installare un'app con questo ID sul telefono. Per evitare conflitti tra diversi utenti MediaPipe, devi configurare un prefisso univoco per gli ID bundle delle nostre app demo per iOS.
Se hai un profilo di provisioning personalizzato, consulta Provisioning personalizzato di seguito.
In caso contrario, esegui questo comando per generare un prefisso univoco:
python3 mediapipe/examples/ios/link_local_profiles.py
Creare un progetto Xcode
In questo modo puoi modificare e eseguire il debug di una delle app di esempio in Xcode. Inoltre, consente di utilizzare il provisioning automatico (vedi la sezione successiva).
Utilizzeremo uno strumento chiamato Tulsi per generare progetti Xcode dalle configurazioni di build di Bazel.
# cd out of the mediapipe directory, then: git clone https://github.com/bazelbuild/tulsi.git cd tulsi # remove Xcode version from Tulsi's .bazelrc (see http://github.com/bazelbuild/tulsi#building-and-installing): sed -i .orig '/xcode_version/d' .bazelrc # build and run Tulsi: sh build_and_run.sh
In questo modo,
Tulsi.app
verrà installato nella directoryApplications
della tua home directory.Apri
mediapipe/Mediapipe.tulsiproj
utilizzando l'app Tulsi.Seleziona la configurazione MediaPipe nella scheda Configurazioni, quindi premi il pulsante Genera di seguito. Ti verrà chiesto un percorso in cui salvare il progetto Xcode. Una volta generato, il progetto verrà aperto in Xcode.
Se viene visualizzato un messaggio di errore relativo agli ID bundle, consulta la sezione precedente.
Configurare il provisioning
Per installare applicazioni su un dispositivo iOS, è necessario un profilo di provisioning. Sono disponibili due opzioni:
Provisioning automatico. In questo modo puoi creare e installare un'app sul tuo dispositivo personale. Il profilo di provisioning è gestito da Xcode e deve essere aggiornato spesso (è valido per circa una settimana).
Provisioning personalizzato. Viene utilizzato un profilo di provisioning associato a un account sviluppatore Apple. Questi profili hanno un periodo di validità più lungo e possono avere come target più dispositivi, ma per ottenerne uno devi avere un account sviluppatore a pagamento con Apple.
Provisioning automatico
Crea un progetto Xcode per MediaPipe, come discusso in precedenza
Nel riquadro di navigazione del progetto nella barra laterale a sinistra, seleziona il progetto "Mediapipe".
Seleziona uno dei target di applicazione, ad esempio HandTrackingGpuApp.
Seleziona la scheda "Firma e funzionalità".
Seleziona "Gestisci automaticamente la firma" e conferma la finestra di dialogo.
Seleziona "Il tuo nome (team personale)" nel menu della finestra di dialogo Team.
Questa configurazione deve essere eseguita una volta per ogni applicazione che vuoi installare. Ripeti i passaggi da 3 a 6 in base alle necessità.
Verranno generati profili di provisioning per ogni app selezionata. Ora devi dire a Bazel di utilizzarli. Abbiamo fornito uno script per semplificare la procedura.
Nel terminale, alla directory
mediapipe
in cui hai clonato il repository.Esegui questo comando:
python3 mediapipe/examples/ios/link_local_profiles.py
Verrà trovato e collegato il profilo di provisioning per tutte le applicazioni per le quali hai attivato il provisioning automatico in Xcode.
Provisioning personalizzato
- Ottieni un profilo di provisioning da Apple.
Crea un link simbolico o copia il profilo di provisioning in
mediapipe/mediapipe/provisioning_profile.mobileprovision
.cd mediapipe ln -s ~/Downloads/MyProvisioningProfile.mobileprovision mediapipe/provisioning_profile.mobileprovision
- Apri
mediapipe/examples/ios/bundle_id.bzl
e modificaBUNDLE_ID_PREFIX
con un prefisso associato al tuo profilo di provisioning.
Crea ed esegui un'app utilizzando Xcode
Crea il progetto Xcode e assicurati di aver configurato il provisioning automatico o personalizzato.
Ora puoi selezionare una delle demo del framework Mediapipe nel menu di destinazione, e compilarle ed eseguirle come di consueto.
Creare un'app utilizzando la riga di comando
Assicurati di aver configurato il provisioning automatico o personalizzato.
Ad esempio, utilizzando MediaPipe Hands, esegui:
bazel build -c opt --config=ios_arm64 mediapipe/examples/ios/handtrackinggpu:HandTrackingGpuApp
Potresti visualizzare una richiesta di autorizzazione da parte di
codesign
per firmare l'app.In Xcode, apri la finestra
Devices and Simulators
(Comando-Maiusc-2).Assicurati che il dispositivo sia connesso. Vedrai un elenco delle app installate. Premi il pulsante "+" sotto l'elenco e seleziona il file
.ipa
creato da Bazel.Ora puoi eseguire l'app sul tuo dispositivo.