Framework MediaPipe sur iOS

Suivez les instructions ci-dessous pour créer des exemples d'applications iOS avec MediaPipe Framework. Pour en savoir plus sur ces exemples d'applications, commencez par Hello Monde ! sur iOS.

Créer des exemples d'applications iOS

Conditions préalables

  1. Installez Mediapipe Framework en suivant ces instructions.

  2. Installez Xcode, puis installez la Outils de ligne de commande avec:

    xcode-select --install
    
  3. Installez Bazelisk.

    Nous vous recommandons d'utiliser Homebrew pour obtenir les dernières versions.

    brew install bazelisk
    
  4. Définissez Python 3.7 comme version de Python par défaut et installez la version Python "six" bibliothèque. Cette opération est nécessaire pour TensorFlow.

    pip3 install --user six
    
  5. Clonez le dépôt MediaPipe.

    git clone https://github.com/google/mediapipe.git
    

Configurer un préfixe d'ID de bundle

Toutes les applications iOS doivent avoir un ID de bundle et vous devez disposer d'un profil de provisionnement qui vous permet d'installer une application avec cet identifiant sur votre téléphone. Pour éviter les conflits entre différents utilisateurs MediaPipe, vous devez configurer un préfixe unique pour le les ID de bundle de nos applications de démonstration iOS.

Si vous disposez d'un profil de provisionnement personnalisé, consultez Provisionnement personnalisé ci-dessous.

Sinon, exécutez la commande suivante pour générer un préfixe unique:

python3 mediapipe/examples/ios/link_local_profiles.py

Créer un projet Xcode

Cela vous permet de modifier et de déboguer l'un des exemples d'applications dans Xcode. Il y a aussi vous permet d'utiliser le provisionnement automatique (voir la section suivante).

  1. Nous allons utiliser un outil appelé Tulsi pour générer Projets Xcode à partir des configurations de compilation 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
    

    Cette action installera Tulsi.app dans le répertoire Applications de votre répertoire d'accueil.

  2. Ouvrez mediapipe/Mediapipe.tulsiproj à l'aide de l'application Tulsi.

  3. Sélectionnez la configuration MediaPipe dans l'onglet "Configs" (Configurations), puis cliquez sur le bouton "Generate" (Générer) bouton ci-dessous. Vous devez indiquer un emplacement pour enregistrer le projet Xcode. Une fois le projet généré, il s'ouvrira dans Xcode.

    Si vous recevez un message d'erreur concernant les ID de bundle, consultez la section précédente.

Configurer la gestion des comptes

Pour installer des applications sur un appareil iOS, vous devez disposer d'un profil de provisionnement. Il y deux options s'offrent à vous:

  1. Provisionnement automatique. Cela vous permet de créer et d'installer une application appareil personnel. Le profil de provisionnement est géré par Xcode et doit être souvent mis à jour (la durée de validité est d'environ une semaine).

  2. Provisionnement personnalisé Un profil de provisionnement associé à un Compte de développeur Apple. Ces profils ont une période de validité plus longue et peut cibler plusieurs appareils, mais vous devez disposer d'un compte de développeur payant Apple pour en obtenir un.

Provisionnement automatique

  1. Créer un projet Xcode pour MediaPipe, comme expliqué plus tôt

  2. Dans le navigateur de projets, dans la barre latérale de gauche, sélectionnez "Mediapipe". projet.

  3. Sélectionnez l'une des cibles de l'application, par exemple HandTrackingGpuApp.

  4. Cochez la case "Signature et Capacités" .

  5. Cochez la case "Gérer automatiquement la signature" et confirmez la boîte de dialogue.

  6. Sélectionnez Votre nom (équipe personnelle). dans le menu de la boîte de dialogue Équipe.

  7. Cette configuration doit être effectuée une fois pour chaque application que vous souhaitez installer. Répétez les étapes 3 à 6 autant de fois que nécessaire.

Des profils de provisionnement sont alors générés pour chaque application sélectionnée. Désormais, vous devez demander à Bazel de les utiliser. Pour vous faciliter la tâche, nous vous proposons un script.

  1. Dans le terminal, accédez au répertoire mediapipe dans lequel vous avez cloné un dépôt de clés.

  2. Exécutez cette commande :

    python3 mediapipe/examples/ios/link_local_profiles.py
    

Cela permet de rechercher et d'associer le profil de provisionnement pour toutes les applications pour lesquelles vous avez activé le provisionnement automatique dans Xcode.

Provisionnement personnalisé

  1. Obtenir un profil de provisionnement auprès d'Apple
  1. Lien symbolique ou copier votre profil de provisionnement vers mediapipe/mediapipe/provisioning_profile.mobileprovision

    cd mediapipe
    ln -s ~/Downloads/MyProvisioningProfile.mobileprovision mediapipe/provisioning_profile.mobileprovision
    
  1. Ouvrez mediapipe/examples/ios/bundle_id.bzl et modifiez le paramètre BUNDLE_ID_PREFIX à un préfixe associé à votre profil de provisionnement.

Créer et exécuter une application à l'aide de Xcode

  1. Créez le projet Xcode et assurez-vous d'avoir configuré un provisionnement personnalisé.

  2. Vous pouvez maintenant sélectionner l'une des démonstrations de Mediapipe Framework dans le menu cible, puis les compiler et les exécuter normalement.

Créer une application à l'aide de la ligne de commande

  1. Assurez-vous d'avoir configuré le provisionnement automatique ou personnalisé.

  2. Avec MediaPipe Hands, par exemple, exécutez la commande suivante:

    bazel build -c opt --config=ios_arm64 mediapipe/examples/ios/handtrackinggpu:HandTrackingGpuApp
    

    Vous recevrez peut-être une demande d'autorisation de la part de codesign pour signer l'appli.

  3. Dans Xcode, ouvrez la fenêtre Devices and Simulators (command-shift-2).

  4. Assurez-vous que votre appareil est connecté. La liste des applications installées s'affiche. Appuyez sur le signe "+" sous la liste, puis sélectionnez le fichier .ipa créé par Bazel.

  5. Vous pouvez maintenant exécuter l'application sur votre appareil.