MediaPipe-Framework für iOS

Folgen Sie der Anleitung unten, um iOS-Beispiel-Apps mit MediaPipe Framework zu erstellen. Weitere Informationen zu diesen Beispiel-Apps finden Sie unter Hello World! für iOS.

iOS-Beispiel-Apps erstellen

Vorbereitung

  1. Installieren Sie das Mediapipe-Framework instructions.

  2. Installieren Sie Xcode und dann die Befehlszeilentools mit folgendem Befehl:

    xcode-select --install
    
  3. Installieren Sie Bazelisk.

    Wir empfehlen, Homebrew zu verwenden, um die neuesten Versionen zu erhalten.

    brew install bazelisk
    
  4. Legen Sie Python 3.7 als Python-Standardversion fest und installieren Sie die Python-Bibliothek „six“. Dies ist für TensorFlow erforderlich.

    pip3 install --user six
    
  5. Klonen Sie das MediaPipe-Repository.

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

Paket-ID-Präfix einrichten

Alle iOS-Apps müssen eine Bundle-ID haben. Außerdem benötigen Sie ein Bereitstellungsprofil, mit dem Sie eine App mit dieser ID auf Ihrem Smartphone installieren können. Damit Konflikte zwischen verschiedenen MediaPipe-Nutzern vermieden werden, musst du ein eindeutiges Präfix für die Bundle-IDs unserer iOS-Demo-Apps konfigurieren.

Wenn Sie ein benutzerdefiniertes Bereitstellungsprofil haben, lesen Sie den Abschnitt Benutzerdefinierte Bereitstellung unten.

Andernfalls führen Sie diesen Befehl aus, um ein eindeutiges Präfix zu generieren:

python3 mediapipe/examples/ios/link_local_profiles.py

Xcode-Projekt erstellen

Dadurch können Sie eine der Beispiel-Apps in Xcode bearbeiten und Fehler beheben. Sie können damit auch die automatische Bereitstellung nutzen (siehe Abschnitt weiter unten).

  1. Wir verwenden ein Tool namens Tulsi, um Xcode-Projekte aus Build-Konfigurationen von Bali zu generieren.

    # 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
    

    Dadurch wird Tulsi.app im Verzeichnis Applications in Ihrem Basisverzeichnis installiert.

  2. Öffne mediapipe/Mediapipe.tulsiproj mit der Tulsi App.

  3. Wählen Sie auf dem Tab „Configs“ (Konfigurationen) die MediaPipe-Konfiguration aus und klicken Sie dann unten auf die Schaltfläche „Generate“ (Generieren). Sie werden nach einem Speicherort für das Xcode-Projekt gefragt. Sobald das Projekt generiert wurde, wird es in Xcode geöffnet.

    Wenn Sie eine Fehlermeldung zu Bundle-IDs erhalten, lesen Sie die Informationen im vorherigen Abschnitt.

Nutzerverwaltung einrichten

Wenn Sie Apps auf einem iOS-Gerät installieren möchten, benötigen Sie ein Bereitstellungsprofil. Dafür gibt es zwei Optionen:

  1. Automatische Nutzerverwaltung So können Sie eine App erstellen und auf Ihrem privaten Gerät installieren. Das Bereitstellungsprofil wird von Xcode verwaltet und muss häufig aktualisiert werden (es ist etwa eine Woche gültig).

  2. Benutzerdefinierte Bereitstellung Dabei wird ein Bereitstellungsprofil verwendet, das mit einem Apple-Entwicklerkonto verknüpft ist. Diese Profile haben einen längeren Gültigkeitszeitraum und können auf mehrere Geräte ausgerichtet sein. Sie benötigen jedoch ein kostenpflichtiges Entwicklerkonto bei Apple, um eines zu erhalten.

Automatische Nutzerverwaltung

  1. Erstellen Sie ein Xcode-Projekt für MediaPipe, wie zuvor beschrieben.

  2. Wählen Sie in der Projektnavigation in der linken Seitenleiste das Projekt "Mediapipe" aus.

  3. Wählen Sie eines der Anwendungsziele aus, z. B. HandTrackingGpuApp.

  4. Wählen Sie den Tab „Signing & Capabilities“ aus.

  5. Klicken Sie das Kästchen „Signatur automatisch verwalten“ an und bestätigen Sie das Dialogfeld.

  6. Wählen Sie im Dialogfeld „Team“ die Option Dein Name (persönliches Team) aus.

  7. Diese Einrichtung muss für jede Anwendung, die Sie installieren möchten, einmal durchgeführt werden. Wiederholen Sie die Schritte 3 bis 6 nach Bedarf.

Dadurch werden Bereitstellungsprofile für jede ausgewählte Anwendung erstellt. Jetzt müssen Sie RStudio anweisen, sie zu verwenden. Wir stellen Ihnen dazu ein Skript zur Verfügung.

  1. Wechseln Sie im Terminal in das Verzeichnis mediapipe, in das Sie das Repository geklont haben.

  2. Führen Sie folgenden Befehl aus:

    python3 mediapipe/examples/ios/link_local_profiles.py
    

Dadurch wird das Bereitstellungsprofil für alle Anwendungen, für die Sie die automatische Bereitstellung in Xcode aktiviert haben, ermittelt und verknüpft.

Benutzerdefinierte Bereitstellung

  1. Fordern Sie ein Bereitstellungsprofil von Apple an.
  1. Symlink verwenden oder Ihr Bereitstellungsprofil in mediapipe/mediapipe/provisioning_profile.mobileprovision kopieren.

    cd mediapipe
    ln -s ~/Downloads/MyProvisioningProfile.mobileprovision mediapipe/provisioning_profile.mobileprovision
    
  1. Öffnen Sie mediapipe/examples/ios/bundle_id.bzl und ändern Sie BUNDLE_ID_PREFIX in ein Präfix, das mit Ihrem Bereitstellungsprofil verknüpft ist.

Anwendung mit Xcode erstellen und ausführen

  1. Erstellen Sie das Xcode-Projekt und prüfen Sie, ob Sie entweder die automatische oder die benutzerdefinierte Bereitstellung eingerichtet haben.

  2. Sie können jetzt eine der Mediapipe-Framework-Demos im Zielmenü auswählen und sie wie gewohnt erstellen und ausführen.

App über die Befehlszeile erstellen

  1. Stellen Sie sicher, dass Sie entweder die automatische oder die benutzerdefinierte Nutzerverwaltung eingerichtet haben.

  2. Führen Sie beispielsweise mit MediaPipe Hands folgenden Befehl aus:

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

    Möglicherweise erhältst du eine Berechtigungsanfrage von codesign, um die App zu signieren.

  3. Öffnen Sie in Xcode das Fenster Devices and Simulators (Befehlstaste + Umschalttaste - 2).

  4. Vergewissere dich, dass dein Gerät verbunden ist. Eine Liste der installierten Apps wird angezeigt. Klicken Sie unter der Liste auf die Schaltfläche „+“ und wählen Sie die von Bali erstellte Datei .ipa aus.

  5. Du kannst die App jetzt auf deinem Gerät ausführen.