Segui le istruzioni riportate di seguito per creare app di esempio per iOS con MediaPipe Framework. Per scoprire di più su queste app di esempio, inizia da Hello World! su iOS.
Creazione di app di esempio per iOS
Prerequisito
Installa Mediapipe Framework seguendo queste instructions.
Installa Xcode, quindi installa gli strumenti a riga di comando utilizzando:
xcode-select --install
Installa Bazelisk.
Ti consigliamo di utilizzare Homebrew per scaricare le versioni più recenti.
brew install bazelisk
Imposta Python 3.7 come versione Python predefinita e installa la libreria Python "sei". Questa operazione è necessaria per TensorFlow.
pip3 install --user six
Clonare il repository MediaPipe.
git clone https://github.com/google/mediapipe.git
Configurare un prefisso di ID bundle
Tutte le app per iOS devono avere un ID pacchetto e devi avere un profilo di provisioning che consenta di installare un'app con questo ID sul telefono. Per evitare conflitti tra utenti MediaPipe diversi, devi configurare un prefisso univoco per gli ID bundle delle nostre app demo per iOS.
Se hai un profilo di provisioning personalizzato, consulta la sezione Provisioning personalizzato di seguito.
Altrimenti, esegui questo comando per generare un prefisso univoco:
python3 mediapipe/examples/ios/link_local_profiles.py
Crea un progetto Xcode
In questo modo puoi modificare ed eseguire il debug di una delle app di esempio in Xcode. Consente inoltre di utilizzare il provisioning automatico (vedi la sezione più avanti).
Utilizzeremo uno strumento chiamato Tulsi per generare progetti Xcode dalle configurazioni di build 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
Questa operazione installerà
Tulsi.app
all'interno della directoryApplications
nella directory home.Apri
mediapipe/Mediapipe.tulsiproj
utilizzando l'app Tulsi.Seleziona la configurazione di MediaPipe nella scheda Configurazioni, quindi premi il pulsante Genera in basso. Ti verrà richiesta una posizione in cui salvare il progetto Xcode. Una volta generato, il progetto verrà aperto in Xcode.
Se viene visualizzato un errore relativo agli ID pacchetto, consulta la sezione precedente.
Configurare il provisioning
Per installare applicazioni su un dispositivo iOS, è necessario un profilo di provisioning. Le opzioni disponibili sono due:
Provisioning automatico. Questo ti consente di 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 hai bisogno di un account sviluppatore a pagamento di Apple per ottenerne uno.
Provisioning automatico
Crea un progetto Xcode per MediaPipe, come spiegato in precedenza
Nella barra di navigazione dei progetti nella barra laterale di sinistra, seleziona il progetto "Mediapipe".
Seleziona uno dei target dell'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 di dialogo Team.
Questa configurazione deve essere eseguita una volta per ogni applicazione che vuoi installare. Ripeti i passaggi 3-6 secondo necessità.
In questo modo vengono generati profili di provisioning per ogni app selezionata. Ora devi dire a Bazel di usarle. Per semplificare questa operazione, abbiamo fornito uno script.
Nel terminale, nella 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 cui hai attivato il provisioning automatico in Xcode.
Provisioning personalizzato
- Ottieni un profilo di provisioning da Apple.
Collega in simboli o copia il tuo 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 sostituisciBUNDLE_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 qualsiasi demo di Mediapipe Framework nel menu di destinazione, nonché crearla ed eseguirla normalmente.
Creare un'app utilizzando la riga di comando
Assicurati di aver configurato il provisioning automatico o personalizzato.
Utilizzando MediaPipe Hands, ad esempio, esegui:
bazel build -c opt --config=ios_arm64 mediapipe/examples/ios/handtrackinggpu:HandTrackingGpuApp
Potresti visualizzare una richiesta di autorizzazione di
codesign
per firmare l'app.In Xcode, apri la finestra
Devices and Simulators
(Command-shift-2).Assicurati che il tuo 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.