Folgen Sie der Anleitung unten, um iOS-Beispiel-Apps mit dem MediaPipe-Framework zu erstellen. Weitere Informationen zu diesen Beispiel-Apps finden Sie unter Hallo Welt! unter iOS.
iOS-Beispiel-Apps erstellen
Voraussetzungen
Installieren Sie das Mediapipe-Framework gemäß dieser Anleitung.
Installieren Sie Xcode und dann die Befehlszeilentools mit:
xcode-select --install
Installieren Sie Bazelisk.
Wir empfehlen, Homebrew zu verwenden, um die neuesten Versionen zu erhalten.
brew install bazelisk
Installieren Sie die Python-Bibliothek „six“. Das ist für TensorFlow erforderlich.
pip3 install --user six
Klonen Sie das MediaPipe-Repository.
git clone https://github.com/google/mediapipe.git
Präfix für Bundle-IDs einrichten
Alle iOS-Apps müssen eine Bundle-ID haben und Sie benötigen ein Bereitstellungsprofil, mit dem Sie eine App mit dieser ID auf Ihrem Smartphone installieren können. Um Konflikte zwischen verschiedenen MediaPipe-Nutzern zu vermeiden, müssen Sie ein eindeutiges Präfix für die Bundle-IDs unserer iOS-Demo-Apps konfigurieren.
Wenn Sie ein benutzerdefiniertes Bereitstellungsprofil haben, lesen Sie unten den Abschnitt Benutzerdefinierte Bereitstellung.
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
So können Sie eine der Beispiel-Apps in Xcode bearbeiten und debuggen. Außerdem können Sie die automatische Bereitstellung nutzen (siehe späterer Abschnitt).
Wir verwenden das Tool Tulsi, um Xcode-Projekte aus Bazel-Buildkonfigurationen 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 VerzeichnisApplications
in Ihrem Basisverzeichnis installiert.Öffnen Sie
mediapipe/Mediapipe.tulsiproj
über die Tulsi App.Wählen Sie auf dem Tab „Konfigurationen“ die MediaPipe-Konfiguration aus und klicken Sie dann unten auf die Schaltfläche „Generieren“. Sie werden aufgefordert, einen Speicherort für das Xcode-Projekt anzugeben. Sobald das Projekt generiert wurde, wird es in Xcode geöffnet.
Wenn Sie einen Fehler bezüglich Bundle-IDs erhalten, lesen Sie den vorherigen Abschnitt.
Bereitstellung einrichten
Zum Installieren von Anwendungen auf einem iOS-Gerät benötigen Sie ein Bereitstellungsprofil. Es gibt zwei Möglichkeiten:
Automatische Bereitstellung. 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 lang gültig).
Benutzerdefinierte Bereitstellung Dazu wird ein Bereitstellungsprofil verwendet, das mit einem Apple-Entwicklerkonto verknüpft ist. Diese Profile haben eine längere Gültigkeitsdauer und können auf mehrere Geräte ausgerichtet werden. Sie benötigen jedoch ein kostenpflichtiges Entwicklerkonto bei Apple, um eines zu erhalten.
Automatische Bereitstellung
Erstellen Sie ein Xcode-Projekt für MediaPipe, wie bereits beschrieben.
Wählen Sie in der Projektnavigation in der linken Seitenleiste das Projekt „Mediapipe“ aus.
Wählen Sie eines der Anwendungsziele aus, z. B. HandTrackingGpuApp.
Wählen Sie den Tab „Signatur und Funktionen“ aus.
Setzen Sie ein Häkchen bei „Signatur automatisch verwalten“ und bestätigen Sie das Dialogfeld.
Wählen Sie im Dialogfeld „Team“ die Option Dein Name (persönliches Team) aus.
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 App generiert. Jetzt müssen Sie Bazel anweisen, sie zu verwenden. Wir haben ein Script bereitgestellt, das Ihnen diesen Schritt erleichtert.
Wechseln Sie im Terminal zum Verzeichnis
mediapipe
, in das Sie das Repository geklont haben.Führen Sie folgenden Befehl aus:
python3 mediapipe/examples/ios/link_local_profiles.py
Dadurch wird das Bereitstellungsprofil für alle Anwendungen gefunden und verknüpft, für die Sie die automatische Bereitstellung in Xcode aktiviert haben.
Benutzerdefinierte Bereitstellung
- Holen Sie sich ein Bereitstellungsprofil von Apple.
Erstellen Sie einen Symlink oder kopieren Sie das Bereitstellungsprofil in
mediapipe/mediapipe/provisioning_profile.mobileprovision
.cd mediapipe ln -s ~/Downloads/MyProvisioningProfile.mobileprovision mediapipe/provisioning_profile.mobileprovision
- Öffnen Sie
mediapipe/examples/ios/bundle_id.bzl
und ändern Sie dasBUNDLE_ID_PREFIX
in ein Präfix, das mit Ihrem Bereitstellungsprofil verknüpft ist.
App mit Xcode erstellen und ausführen
Erstellen Sie das Xcode-Projekt und achten Sie darauf, dass Sie entweder die automatische oder die benutzerdefinierte Bereitstellung eingerichtet haben.
Sie können jetzt im Zielmenü eine der Mediapipe-Framework-Demos auswählen und wie gewohnt erstellen und ausführen.
App über die Befehlszeile erstellen
Sie müssen entweder die automatische oder die benutzerdefinierte Bereitstellung eingerichtet haben.
Wenn Sie beispielsweise MediaPipe Hands verwenden, führen Sie Folgendes aus:
bazel build -c opt --config=ios_arm64 mediapipe/examples/ios/handtrackinggpu:HandTrackingGpuApp
Möglicherweise wird eine Berechtigungsanfrage von
codesign
angezeigt, um die App zu signieren.Öffnen Sie in Xcode das Fenster
Devices and Simulators
(Befehlstaste + Umschalttaste + 2).Achten Sie darauf, dass Ihr Gerät verbunden ist. Daraufhin wird eine Liste der installierten Apps angezeigt. Drücken Sie unter der Liste auf die Schaltfläche „+“ und wählen Sie die von Bazel erstellte
.ipa
-Datei aus.Sie können die App jetzt auf Ihrem Gerät ausführen.