Platforma MediaPipe na iOS

Aby utworzyć przykładowe aplikacje na iOS z użyciem frameworku MediaPipe, wykonaj podane niżej instrukcje. Aby dowiedzieć się więcej o tych przykładowych aplikacjach, zacznij od Witaj, świecie! na iOS.

Tworzenie przykładowych aplikacji na iOS

Warunek wstępny

  1. Zainstaluj Mediapipe Framework, postępując zgodnie z tymi instrukcjami.

  2. Zainstaluj Xcode, a potem zainstaluj narzędzia wiersza poleceń za pomocą:

    xcode-select --install
    
  3. Zainstaluj Bazelisk.

    Zalecamy korzystanie z Homebrew, aby pobrać najnowsze wersje.

    brew install bazelisk
    
  4. Zainstaluj bibliotekę Pythona „six”. Jest to wymagane do TensorFlow.

    pip3 install --user six
    
  5. Sklonuj repozytorium MediaPipe.

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

Konfigurowanie prefiksu identyfikatora pakietu

Wszystkie aplikacje na iOS muszą mieć identyfikator pakietu, a Ty musisz mieć profil wdrożenia, który umożliwia zainstalowanie aplikacji z tym identyfikatorem na telefonie. Aby uniknąć konfliktów między różnymi użytkownikami MediaPipe, musisz skonfigurować unikalny prefiks dla identyfikatorów pakietów naszych aplikacji demonstracyjnych na iOS.

Jeśli masz profil do obsługi niestandardowej, poniżej znajdziesz sekcję Obsługa niestandardowa.

W przeciwnym razie uruchom to polecenie, aby wygenerować unikalny prefiks:

python3 mediapipe/examples/ios/link_local_profiles.py

Tworzenie projektu Xcode

Dzięki temu możesz edytować i debugować jedną z przykładowych aplikacji w Xcode. Umożliwia też korzystanie z automatycznej obsługi administracyjnej (patrz sekcja poniżej).

  1. Do generowania projektów Xcode z konfiguracji kompilacji Bazel użyjemy narzędzia Tulsi.

    # 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
    

    Spowoduje to zainstalowanie Tulsi.app w katalogu Applications w katalogu domowym.

  2. Otwórz mediapipe/Mediapipe.tulsiproj za pomocą aplikacji Tulsi.

  3. Na karcie Konfiguracje wybierz konfigurację MediaPipe, a potem kliknij przycisk Generuj poniżej. Pojawi się prośba o wybranie lokalizacji, w której chcesz zapisać projekt Xcode. Po wygenerowaniu projekt zostanie otwarty w Xcode.

    Jeśli pojawi się błąd dotyczący identyfikatorów pakietów, zapoznaj się z poprzednią sekcją.

Konfigurowanie obsługi administracyjnej

Aby instalować aplikacje na urządzeniu z iOS, potrzebujesz profilu udostępniania. Do wyboru masz 2 opcje:

  1. Automatyczna obsługa administracyjna. Dzięki temu możesz tworzyć i instalować aplikacje na swoim urządzeniu osobistym. Profilem obsługi administracyjnej zarządza Xcode i musi być on często aktualizowany (jest ważny przez około tygodnia).

  2. Przydzielanie niestandardowe. Ta metoda wykorzystuje profil zaopatrzenia powiązany z kontem dewelopera Apple. Te profile mają dłuższy okres ważności i mogą być kierowane na wiele urządzeń, ale aby je uzyskać, musisz mieć płatne konto dewelopera w Apple.

Automatyczna obsługa administracyjna

  1. Utwórz projekt Xcode dla MediaPipe, jak opisano wcześniej.

  2. W nawigatorze projektu na pasku bocznym po lewej stronie wybierz projekt „Mediapipe”.

  3. Wybierz jeden z celów aplikacji, np. HandTrackingGpuApp.

  4. Kliknij kartę „Podpisywanie i możliwości”.

  5. Zaznacz „Automatycznie zarządzaj podpisywaniem” i potwierdź w oknie.

  6. W menu zespołu kliknij „Twoje imię i nazwisko (zespół osobisty)”.

  7. Tę konfigurację należy wykonać raz w przypadku każdej aplikacji, którą chcesz zainstalować. W razie potrzeby powtórz kroki 3–6.

Spowoduje to wygenerowanie profili obsługi administracyjnej dla każdej wybranej aplikacji. Teraz musisz powiedzieć Bazel, aby ich użył. Aby ułatwić Ci to zadanie, udostępniliśmy skrypt.

  1. W terminalu przejdź do katalogu mediapipe, do którego sklonowano repozytorium.

  2. Uruchom to polecenie:

    python3 mediapipe/examples/ios/link_local_profiles.py
    

Spowoduje to znalezienie i połączenie profilu obsługi administracyjnej ze wszystkimi aplikacjami, w których przypadku włączono automatyczną obsługę administracyjną w Xcode.

Wdrożenie niestandardowe

  1. Pobierz profil obsługi administracyjnej z Apple.
  1. Utwórz symboliczny link do profilu obsługi administracyjnej lub skopiuj go do folderu mediapipe/mediapipe/provisioning_profile.mobileprovision.

    cd mediapipe
    ln -s ~/Downloads/MyProvisioningProfile.mobileprovision mediapipe/provisioning_profile.mobileprovision
    
  1. Otwórz mediapipe/examples/ios/bundle_id.bzl i zmień BUNDLE_ID_PREFIX na prefiks powiązany z Twoim profilem aprowizowania.

Tworzenie i uruchamianie aplikacji za pomocą Xcode

  1. Utwórz projekt Xcode i upewnij się, że masz skonfigurowaną obsługę administracyjną automatyczną lub niestandardową.

  2. W menu docelowym możesz teraz wybrać dowolną z aplikacji demonstracyjnych Mediapipe Framework, a potem utworzyć je i uruchomić jak zwykle.

Tworzenie aplikacji za pomocą wiersza poleceń

  1. Upewnij się, że masz skonfigurowaną obsługę administracyjną automatyczną lub niestandardową.

  2. Korzystając z MediaPipe Hands, możesz na przykład wykonać:

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

    Możesz zobaczyć prośbę o uprawnienia od codesign, aby podpisać aplikację.

  3. W Xcode otwórz okno Devices and Simulators (Command+Shift+2).

  4. Upewnij się, że urządzenie jest połączone. Pojawi się lista zainstalowanych aplikacji. Kliknij przycisk „+” pod listą i wybierz plik .ipa utworzony przez narzędzie Bazel.

  5. Możesz teraz uruchomić aplikację na urządzeniu.