MediaPipe-Framework für iOS

Folgen Sie der Anleitung unten, um iOS-Beispiel-Apps mit MediaPipe zu erstellen. Framework. Um mehr über diese Beispiel-Apps zu erfahren, beginnen Sie mit Hallo Welt! auf iOS-Geräten.

iOS-Beispiel-Apps erstellen

Vorbereitung

  1. Installieren Sie Mediapipe Framework gemäß dieser Anleitung.

  2. Installieren Sie zuerst Xcode und dann den Befehlszeilen-Tools mit:

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

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

    brew install bazelisk
    
  4. Python 3.7 als Python-Standardversion festlegen und Python „six“ installieren Bibliothek. Dies wird für TensorFlow benötigt.

    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 und Sie benötigen ein Bereitstellungsprofil kannst du eine App mit dieser ID auf deinem Smartphone installieren. Um Konflikte zu vermeiden unterschiedlichen MediaPipe-Nutzern zu ermöglichen, müssen Sie ein eindeutiges Präfix für den Bundle-IDs unserer iOS-Demo-Apps.

Wenn Sie ein benutzerdefiniertes Bereitstellungsprofil haben, lesen Sie Benutzerdefinierte Nutzerverwaltung.

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

python3 mediapipe/examples/ios/link_local_profiles.py

Xcode-Projekt erstellen

So können Sie eine der Beispiel-Apps in Xcode bearbeiten und debuggen. Außerdem können Sie die automatische Nutzerverwaltung verwenden (siehe weiter unten).

  1. Mit dem Tool Tulsi erstellen wir Xcode-Projekte aus Bass-Build-Konfigurationen.

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

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

  3. Wählen Sie auf dem Tab „Konfigurationen“ die MediaPipe-Konfiguration aus und klicken Sie dann auf die Schaltfläche „Generate“ (Generieren). Schaltfläche unten. Sie werden aufgefordert, einen Speicherort für das Xcode-Projekt anzugeben. Sobald das Projekt erstellt ist, wird es in Xcode geöffnet.

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

Nutzerverwaltung einrichten

Wenn Sie Apps auf einem iOS-Gerät installieren möchten, benötigen Sie ein Bereitstellungsprofil. Es sind zwei Optionen:

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

  2. Benutzerdefinierte Bereitstellung. Dabei wird ein Bereitstellungsprofil verwendet, das mit einem Apple-Entwicklerkonto. Diese Profile haben einen längeren Gültigkeitszeitraum und können Sie Ihre Anzeigen auf mehrere Geräte ausrichten. Sie benötigen jedoch ein kostenpflichtiges Entwicklerkonto mit um eine zu erhalten.

Automatische Nutzerverwaltung

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

  2. Wähle im Projektnavigator in der linken Seitenleiste die "Mediapipe" aus. Projekt arbeiten.

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

  4. Aktivieren Sie das Kontrollkästchen "Signieren & Fähigkeiten“ .

  5. Setzen Sie ein Häkchen bei „Signatur automatisch verwalten“ und bestätigen Sie das Dialogfeld.

  6. Wählen Sie Ihr Name (Persönliches Team) aus. im Dialogfeld „Team“.

  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 für jede ausgewählte Anwendung Bereitstellungsprofile generiert. Jetzt können Sie um sie zu verwenden. Wir haben ein Skript bereitgestellt, um dies zu vereinfachen.

  1. Gehen Sie im Terminal in das Verzeichnis mediapipe, in das Sie das zu erstellen.

  2. Führen Sie folgenden Befehl aus:

    python3 mediapipe/examples/ios/link_local_profiles.py
    

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

Benutzerdefinierte Nutzerverwaltung

  1. Fordern Sie ein Bereitstellungsprofil von Apple an.
  1. Führen Sie einen Symlink aus oder kopieren Sie Ihr Bereitstellungsprofil nach mediapipe/mediapipe/provisioning_profile.mobileprovision

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

Anwendung mit Xcode erstellen und ausführen

  1. Erstellen Sie das Xcode-Projekt und vergewissern Sie sich, dass Sie entweder die automatische oder benutzerdefinierte Nutzerverwaltung.

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

Anwendung über die Befehlszeile erstellen

  1. Sie müssen 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 wird von codesign eine Berechtigungsanfrage zum Signieren der App angezeigt.

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

  4. Vergewissere dich, dass dein Gerät verbunden ist. Eine Liste der installierten Apps wird angezeigt. Drücken Sie die Schaltfläche „+“ unter der Liste und wählen Sie die Datei .ipa aus, die vom „Baby“.

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