iOS の MediaPipe フレームワーク

MediaPipe を使用して iOS サンプルアプリを構築するには、次の手順を行います。 説明します。これらのサンプルアプリの詳細については、Hello Build についての 世界!をご覧ください

iOS サンプルアプリのビルド

前提条件

  1. こちらの手順に沿って Mediapipe Framework をインストールします。

  2. Xcode をインストールし、 以下を使用するコマンドライン ツール:

    xcode-select --install
    
  3. Bazelisk をインストールします。

    Homebble を使用して最新バージョンを入手することをおすすめします。

    brew install bazelisk
    
  4. Python 3.7 をデフォルトの Python バージョンとして設定し、Python「six」をインストールします。 ライブラリです。これは TensorFlow に必要です。

    pip3 install --user six
    
  5. MediaPipe リポジトリのクローンを作成します。

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

バンドル ID の接頭辞を設定する

すべての iOS アプリにバンドル ID が必要です。また、プロビジョニング プロファイルが必要です その ID を持つアプリをスマートフォンにインストールできます。競合を避けるため 異なる MediaPipe ユーザー間で使用する場合は、 iOS デモアプリのバンドル ID。

カスタム プロビジョニング プロファイルがある場合は、以下をご覧ください。 カスタム プロビジョニングをご覧ください。

それ以外の場合は、次のコマンドを実行して一意の接頭辞を生成します。

python3 mediapipe/examples/ios/link_local_profiles.py

Xcode プロジェクトを作成する

これにより、Xcode のサンプルアプリのいずれかを編集してデバッグできます。また、 では自動プロビジョニングを利用できます(後述)。

  1. Tulsi というツールを使用して生成します。 Bazel ビルド構成から作成した Xcode プロジェクト。

    # 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
    

    これにより、アプリケーションの Applications ディレクトリに Tulsi.app がインストールされます。 できます。

  2. Tulsi アプリを使用して mediapipe/Mediapipe.tulsiproj を開きます。

  3. [Configs] タブで MediaPipe 構成を選択し、[Generate] を押します。 下のボタンをクリックしてください。Xcode プロジェクトを保存する場所を指定するよう求められます。 プロジェクトが生成されると、Xcode で開きます。

    バンドル ID に関するエラーが発生した場合は、 前のセクションをご覧ください。

プロビジョニングの設定

iOS デバイスにアプリケーションをインストールするには、プロビジョニング プロファイルが必要です。そこで、 次の 2 つのオプションがあります。

  1. 自動プロビジョニング。これにより、アプリケーションをビルドして できます。プロビジョニング プロファイルは Xcode によって管理されるため、 頻繁に更新されます(有効期間は約 1 週間です)。

  2. カスタム プロビジョニング。これは、サービスに関連付けられたプロビジョニング プロファイルを Apple デベロッパー アカウント。これらのプロファイルは有効期間が長く、 複数のデバイスをターゲットにすることはできますが、有料のデベロッパー アカウントが必要です。 入手する必要があります。

自動プロビジョニング

  1. 説明に沿って、MediaPipe 用の Xcode プロジェクトを作成する それ以前

  2. 左側のサイドバーにあるプロジェクト ナビゲータで、[Mediapipe] を選択します。 できます。

  3. アプリケーション ターゲットのいずれか(HandTrackingGpuApp など)を選択します。

  4. [署名と機能」タブ

  5. [署名を自動的に管理する] チェックボックスをオンにして、ダイアログを確認します。

  6. [Your Name (Personal Team)] を選択します。[チーム]ダイアログメニューで

  7. この設定は、インストールするアプリケーションごとに 1 回行う必要があります。 必要に応じてステップ 3 ~ 6 を繰り返します。

選択したアプリごとにプロビジョニング プロファイルが生成されます。これで、 Bazel に指示する必要があります。これを簡単に行うためのスクリプトをご用意しました。

  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 フレームワークのデモを選択できるようになりました。 通常どおりビルドして実行します

で確認できます。

コマンドラインを使用してアプリをビルドする

  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. デバイスでアプリを実行できるようになりました。

で確認できます。