Segui le istruzioni riportate di seguito per creare app di esempio per iOS con MediaPipe . Per scoprire di più su queste app di esempio, parti da Hello Mondo! su iOS.
Creazione di app di esempio per iOS
Prerequisito
Installa il framework Mediapipe seguendo queste istruzioni.
Installa Xcode, quindi installa Strumenti a riga di comando che utilizzano:
xcode-select --install
Installa Bazelisk.
Ti consigliamo di utilizzare Homebrew per ottenere le versioni più recenti.
brew install bazelisk
Imposta Python 3.7 come versione Python predefinita e installa il pacchetto Python "sei" libreria. Questa operazione è necessaria per TensorFlow.
pip3 install --user six
Clonare il repository MediaPipe.
git clone https://github.com/google/mediapipe.git
Configura un prefisso ID pacchetto
Tutte le app per iOS devono avere un ID pacchetto e devi avere un profilo di provisioning che ti consente di installare sul telefono un'app con quell'ID. Per evitare conflitti tra utenti MediaPipe diversi, devi configurare un prefisso univoco per ID pacchetto delle nostre app demo per iOS.
Se hai un profilo di provisioning personalizzato, consulta Provisioning personalizzato riportato di seguito.
In caso contrario, 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. Inoltre, consente di utilizzare il provisioning automatico (vedi la sezione successiva).
Utilizzeremo uno strumento chiamato Tulsi per generare Progetti Xcode delle 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
in della tua home directory.Apri
mediapipe/Mediapipe.tulsiproj
usando l'app Tulsi.Seleziona la configurazione MediaPipe nella scheda Configs, quindi premi il pulsante Genera pulsante di seguito. Ti verrà chiesto di specificare 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 le sezione precedente.
Configura provisioning
Per installare applicazioni su un dispositivo iOS, è necessario un profilo di provisioning. Là sono disponibili due opzioni:
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 vengono aggiornate spesso (sono valide per circa una settimana).
Provisioning personalizzato. Viene utilizzato un profilo di provisioning associato a Account sviluppatore Apple. Questi profili hanno un periodo di validità più lungo può avere come target più dispositivi, ma è necessario un account sviluppatore a pagamento con Apple per prenderne uno.
Provisioning automatico
Crea un progetto Xcode per MediaPipe, come descritto in precedenza
Nel navigatore dei progetti nella barra laterale di sinistra, seleziona "Mediapipe" progetto.
Seleziona una delle destinazioni dell'applicazione, ad esempio HandTrackingGpuApp.
Seleziona il pulsante "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 da installare. Ripeti i passaggi 3-6 in base alle necessità.
In questo modo vengono generati profili di provisioning per ogni app selezionata. Ora o di usare Bazel per usarle. Per semplificare questa operazione, abbiamo fornito uno script.
Nel terminale, alla directory
mediapipe
in cui hai clonato repository Git.Esegui questo comando:
python3 mediapipe/examples/ios/link_local_profiles.py
Qui troverai e collegherai il profilo di provisioning per tutte le applicazioni per le quali di aver abilitato il provisioning automatico in Xcode.
Provisioning personalizzato
- Ottenere un profilo di provisioning da Apple.
Symlink 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 modificaBUNDLE_ID_PREFIX
a un prefisso associato al tuo profilo di provisioning.
Crea ed esegui un'app usando Xcode
Crea il progetto Xcode e assicurati di aver configurato uno strumento e al provisioning personalizzato.
Ora puoi selezionare una qualsiasi demo del framework Mediapipe nel menu di destinazione, e crearle ed eseguirle normalmente.
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 vedere una richiesta di autorizzazione da parte 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 tasto "+" sotto l'elenco e seleziona il file
.ipa
creato da Bazel.Ora puoi eseguire l'app sul tuo dispositivo.