MediaPipe Framework на iOS

Следуйте инструкциям ниже, чтобы создать примеры приложений для iOS с помощью MediaPipe Framework. Чтобы узнать больше об этих примерах приложений, начните с Hello World! на iOS .

Создание примеров приложений для iOS

Предварительное условие

  1. Установите Mediapipe Framework, следуя этим инструкциям .

  2. Установите Xcode , затем установите инструменты командной строки, используя:

    xcode-select --install
    
  3. Установите Базелиск .

    Мы рекомендуем использовать Homebrew для получения последних версий.

    brew install bazelisk
    
  4. Установите Python 3.7 в качестве версии Python по умолчанию и установите библиотеку Python «шесть». Это необходимо для TensorFlow.

    pip3 install --user six
    
  5. Клонируйте репозиторий MediaPipe.

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

Настройка префикса идентификатора пакета

Все приложения iOS должны иметь идентификатор пакета, и у вас должен быть профиль обеспечения, который позволит вам установить приложение с этим идентификатором на свой телефон. Чтобы избежать конфликтов между разными пользователями MediaPipe, вам необходимо настроить уникальный префикс для идентификаторов пакетов наших демонстрационных приложений iOS.

Если у вас есть настраиваемый профиль подготовки, см. раздел «Настраиваемая подготовка» ниже.

В противном случае запустите эту команду, чтобы сгенерировать уникальный префикс:

python3 mediapipe/examples/ios/link_local_profiles.py

Создать проект Xcode

Это позволяет вам редактировать и отлаживать одно из примеров приложений в Xcode. Он также позволяет использовать автоматическую подготовку (см. следующий раздел).

  1. Мы будем использовать инструмент под названием Tulsi для создания проектов Xcode из конфигураций сборки Bazel.

    # 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
    

    Это установит Tulsi.app в каталог Applications вашего домашнего каталога.

  2. Откройте mediapipe/Mediapipe.tulsiproj с помощью приложения Tulsi.

  3. Выберите конфигурацию MediaPipe на вкладке «Конфигурации», затем нажмите кнопку «Создать» ниже. Вам будет предложено указать место для сохранения проекта Xcode. После создания проекта он будет открыт в Xcode.

    Если вы получили сообщение об ошибке с идентификаторами пакетов, см. предыдущий раздел .

Настройка подготовки

Чтобы установить приложения на устройство iOS, вам понадобится профиль обеспечения. Есть два варианта:

  1. Автоматическое обеспечение. Это позволяет вам создать и установить приложение на свое личное устройство. Профиль обеспечения управляется Xcode, и его необходимо часто обновлять (он действителен около недели).

  2. Пользовательская подготовка. При этом используется профиль обеспечения, связанный с учетной записью разработчика Apple. Эти профили имеют более длительный срок действия и могут быть предназначены для нескольких устройств, но для их получения вам потребуется платная учетная запись разработчика в Apple.

Автоматическая подготовка

  1. Создайте проект Xcode для MediaPipe, как обсуждалось ранее.

  2. В навигаторе проектов на левой боковой панели выберите проект «Mediapipe».

  3. Выберите одну из целей приложения, например HandTrackingGpuApp.

  4. Выберите вкладку «Подписание и возможности».

  5. Установите флажок «Автоматически управлять подписанием» и подтвердите диалоговое окно.

  6. В диалоговом меню «Команда» выберите « Ваше имя (Личная команда)».

  7. Эту настройку необходимо выполнить один раз для каждого приложения, которое вы хотите установить. При необходимости повторите шаги 3–6.

При этом создаются профили обеспечения для каждого выбранного вами приложения. Теперь вам нужно сказать Базелю использовать их. Мы предоставили скрипт, чтобы сделать это проще.

  1. В терминале — в каталог mediapipe , в котором вы клонировали репозиторий.

  2. Запустите эту команду:

    python3 mediapipe/examples/ios/link_local_profiles.py
    

Это позволит найти и связать профиль обеспечения для всех приложений, для которых вы включили автоматическую подготовку в Xcode.

Пользовательская подготовка

  1. Получите профиль обеспечения от Apple.
  1. Создайте символическую ссылку или скопируйте свой профиль обеспечения в mediapipe/mediapipe/provisioning_profile.mobileprovision .

    cd mediapipe
    ln -s ~/Downloads/MyProvisioningProfile.mobileprovision mediapipe/provisioning_profile.mobileprovision
    
  1. Откройте mediapipe/examples/ios/bundle_id.bzl и измените BUNDLE_ID_PREFIX на префикс, связанный с вашим профилем обеспечения.

Создайте и запустите приложение с помощью Xcode.

  1. Создайте проект Xcode и убедитесь, что вы настроили автоматическую или пользовательскую подготовку.

  2. Теперь вы можете выбрать любую демонстрационную версию Mediapipe Framework в целевом меню, собрать и запустить ее как обычно.

Создайте приложение с помощью командной строки

  1. Убедитесь, что вы настроили автоматическую или пользовательскую подготовку.

  2. Например, используя MediaPipe Hands, запустите:

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

    Вы можете увидеть запрос разрешения от codesign , чтобы подписать приложение.

  3. В Xcode откройте окно Devices and Simulators (command-shift-2).

  4. Убедитесь, что ваше устройство подключено. Вы увидите список установленных приложений. Нажмите кнопку «+» под списком и выберите файл .ipa , созданный Bazel.

  5. Теперь вы можете запустить приложение на своем устройстве.