Platforma MediaPipe na iOS

Wykonaj poniższe instrukcje, aby utworzyć przykładowe aplikacje na iOS za pomocą MediaPipe Framework. Aby dowiedzieć się więcej o tych przykładowych aplikacjach, najpierw przeczytaj artykuł Hello World! na iOS.

Tworzenie przykładowych aplikacji na iOS

Warunek wstępny

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

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

    xcode-select --install
    
  3. Zainstaluj Bazelisk.

    Aby pobrać najnowsze wersje, zalecamy używanie aplikacji Homebrew.

    brew install bazelisk
    
  4. Ustaw Pythona 3.7 jako domyślną wersję Pythona i zainstaluj bibliotekę „6” Pythona. Jest to potrzebne w przypadku TensorFlow.

    pip3 install --user six
    
  5. Sklonować repozytorium MediaPipe.

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

Skonfiguruj prefiks identyfikatora pakietu

Wszystkie aplikacje na iOS muszą mieć identyfikator pakietu. Musisz też mieć profil obsługi administracyjnej, który umożliwi zainstalowanie na telefonie aplikacji z tym identyfikatorem. Aby uniknąć sprzeczności między różnymi użytkownikami MediaPipe, musisz skonfigurować unikalny prefiks dla identyfikatorów pakietów naszych aplikacji demonstracyjnych na iOS.

Jeśli masz niestandardowy profil obsługi administracyjnej, przeczytaj sekcję o niestandardowej obsłudze administracyjnej poniżej.

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

python3 mediapipe/examples/ios/link_local_profiles.py

Tworzenie projektu Xcode

Pozwala to edytować i debugować jedną z przykładowych aplikacji w Xcode. Umożliwia też korzystanie z automatycznej obsługi administracyjnej (patrz sekcja w dalszej części).

  1. Do generowania projektów Xcode na podstawie 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 aplikacji Tulsi.app w katalogu Applications katalogu głównego.

  2. Otwórz mediapipe/Mediapipe.tulsiproj w aplikacji Tulsi.

  3. Wybierz konfigurację MediaPipe na karcie Konfiguracje, a następnie kliknij poniżej przycisk Wygeneruj. Pojawi się prośba o podanie 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, przeczytaj poprzednią sekcję.

Konfigurowanie obsługi administracyjnej

Aby instalować aplikacje na urządzeniu z iOS, musisz mieć profil obsługi administracyjnej. Dostępne są 2 opcje:

  1. Automatyczna obsługa administracyjna. Dzięki temu możesz utworzyć i zainstalować aplikację na swoim osobistym urządzeniu. Profil obsługi administracyjnej jest zarządzany przez Xcode i trzeba go często aktualizować (jest ważny przez około tydzień).

  2. Niestandardowe ustawienia obsługi administracyjnej. Używany jest profil obsługi administracyjnej powiązany z kontem dewelopera Apple. Te profile mają dłuższy okres ważności i można kierować je na wiele urządzeń, ale aby uzyskać takie profile, musisz mieć płatne konto dewelopera w Apple.

Automatyczna obsługa administracyjna

  1. Jak utworzyć projekt Xcode dla MediaPipe, co zostało omówione wcześniej.

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

  3. Wybierz jeden z celów aplikacji, na przykład HandTrackingGpuApp.

  4. Wybierz kartę „Podpisanie i możliwości”.

  5. Zaznacz pole „Automatycznie zarządzaj podpisywaniem” i potwierdź okno.

  6. W menu Zespół wybierz Twoje imię i nazwisko (zespół osobisty).

  7. Konfigurację należy przeprowadzić raz dla 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. Musisz ich użyć. Aby to sobie ułatwić, przygotowaliśmy skrypt.

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

  2. Uruchom to polecenie:

    python3 mediapipe/examples/ios/link_local_profiles.py
    

Spowoduje to wyszukanie i połączenie profilu obsługi administracyjnej dla wszystkich aplikacji, dla których włączono automatyczną obsługę administracyjną w Xcode.

Niestandardowe ustawienia obsługi administracyjnej

  1. Uzyskaj profil obsługi administracyjnej od Apple.
  1. Link symbolizujący lub skopiuj profil obsługi administracyjnej do usługi 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 obsługi administracyjnej.

Tworzenie i uruchamianie aplikacji za pomocą Xcode

  1. Utwórz projekt Xcode i sprawdź, czy masz skonfigurowaną automatyczną lub niestandardową obsługę administracyjną.

  2. Teraz możesz wybrać w menu docelowym dowolną z wersji demonstracyjnych Mediapipe, a następnie utworzyć i uruchomić je jak zwykle.

Tworzenie aplikacji przy użyciu wiersza poleceń

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

  2. Używając np. MediaPipe Hands, uruchom:

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

    Możesz zobaczyć prośbę o przyznanie uprawnień (codesign) podczas podpisania aplikacji.

  3. W Xcode otwórz okno Devices and Simulators (command-shift-2).

  4. Sprawdź, czy urządzenie jest połączone. Pojawi się lista zainstalowanych aplikacji. Naciśnij przycisk „+” pod listą i wybierz plik .ipa utworzony przez Bazela.

  5. Teraz możesz uruchomić aplikację na urządzeniu.