Framework MediaPipe su iOS

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

  1. Installa il framework Mediapipe seguendo queste istruzioni.

  2. Installa Xcode, quindi installa Strumenti a riga di comando che utilizzano:

    xcode-select --install
    
  3. Installa Bazelisk.

    Ti consigliamo di utilizzare Homebrew per ottenere le versioni più recenti.

    brew install bazelisk
    
  4. Imposta Python 3.7 come versione Python predefinita e installa il pacchetto Python "sei" libreria. Questa operazione è necessaria per TensorFlow.

    pip3 install --user six
    
  5. 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).

  1. 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 directory Applications in della tua home directory.

  2. Apri mediapipe/Mediapipe.tulsiproj usando l'app Tulsi.

  3. 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:

  1. 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).

  2. 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

  1. Crea un progetto Xcode per MediaPipe, come descritto in precedenza

  2. Nel navigatore dei progetti nella barra laterale di sinistra, seleziona "Mediapipe" progetto.

  3. Seleziona una delle destinazioni dell'applicazione, ad esempio HandTrackingGpuApp.

  4. Seleziona il pulsante "Firma e Funzionalità" .

  5. Seleziona "Gestisci automaticamente la firma" e conferma la finestra di dialogo.

  6. Seleziona "Il tuo nome (team personale)". nel menu della finestra di dialogo Team.

  7. 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.

  1. Nel terminale, alla directory mediapipe in cui hai clonato repository Git.

  2. 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

  1. Ottenere un profilo di provisioning da Apple.
di Gemini Advanced.
  1. 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
    
di Gemini Advanced.
  1. Apri mediapipe/examples/ios/bundle_id.bzl e modifica BUNDLE_ID_PREFIX a un prefisso associato al tuo profilo di provisioning.

Crea ed esegui un'app usando Xcode

  1. Crea il progetto Xcode e assicurati di aver configurato uno strumento e al provisioning personalizzato.

  2. Ora puoi selezionare una qualsiasi demo del framework Mediapipe nel menu di destinazione, e crearle ed eseguirle normalmente.

di Gemini Advanced.

Creare un'app utilizzando la riga di comando

  1. Assicurati di aver configurato il provisioning automatico o personalizzato.

  2. 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.

  3. In Xcode, apri la finestra Devices and Simulators (command-shift-2).

  4. 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.

  5. Ora puoi eseguire l'app sul tuo dispositivo.

di Gemini Advanced.