MediaPipe を使用して iOS サンプルアプリを構築するには、次の手順を行います。 説明します。これらのサンプルアプリの詳細については、Hello Build についての 世界!をご覧ください。
iOS サンプルアプリのビルド
前提条件
こちらの手順に沿って Mediapipe Framework をインストールします。
Xcode をインストールし、 以下を使用するコマンドライン ツール:
xcode-select --install
Bazelisk をインストールします。
Homebble を使用して最新バージョンを入手することをおすすめします。
brew install bazelisk
Python 3.7 をデフォルトの Python バージョンとして設定し、Python「six」をインストールします。 ライブラリです。これは TensorFlow に必要です。
pip3 install --user six
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 のサンプルアプリのいずれかを編集してデバッグできます。また、 では自動プロビジョニングを利用できます(後述)。
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
がインストールされます。 できます。Tulsi アプリを使用して
mediapipe/Mediapipe.tulsiproj
を開きます。[Configs] タブで MediaPipe 構成を選択し、[Generate] を押します。 下のボタンをクリックしてください。Xcode プロジェクトを保存する場所を指定するよう求められます。 プロジェクトが生成されると、Xcode で開きます。
バンドル ID に関するエラーが発生した場合は、 前のセクションをご覧ください。
プロビジョニングの設定
iOS デバイスにアプリケーションをインストールするには、プロビジョニング プロファイルが必要です。そこで、 次の 2 つのオプションがあります。
自動プロビジョニング。これにより、アプリケーションをビルドして できます。プロビジョニング プロファイルは Xcode によって管理されるため、 頻繁に更新されます(有効期間は約 1 週間です)。
カスタム プロビジョニング。これは、サービスに関連付けられたプロビジョニング プロファイルを Apple デベロッパー アカウント。これらのプロファイルは有効期間が長く、 複数のデバイスをターゲットにすることはできますが、有料のデベロッパー アカウントが必要です。 入手する必要があります。
自動プロビジョニング
説明に沿って、MediaPipe 用の Xcode プロジェクトを作成する それ以前
左側のサイドバーにあるプロジェクト ナビゲータで、[Mediapipe] を選択します。 できます。
アプリケーション ターゲットのいずれか(HandTrackingGpuApp など)を選択します。
[署名と機能」タブ
[署名を自動的に管理する] チェックボックスをオンにして、ダイアログを確認します。
[Your Name (Personal Team)] を選択します。[チーム]ダイアログメニューで
この設定は、インストールするアプリケーションごとに 1 回行う必要があります。 必要に応じてステップ 3 ~ 6 を繰り返します。
選択したアプリごとにプロビジョニング プロファイルが生成されます。これで、 Bazel に指示する必要があります。これを簡単に行うためのスクリプトをご用意しました。
ターミナルで、クローンを作成した
mediapipe
ディレクトリに移動します。 できます。次のコマンドを実行します。
python3 mediapipe/examples/ios/link_local_profiles.py
これにより、サービス アカウントに関連するすべてのアプリケーションのプロビジョニング プロファイルが見つかり、 Xcode で自動プロビジョニングを有効にしている。
カスタム プロビジョニング
- Apple からプロビジョニング プロファイルを取得します。
プロビジョニング プロファイルをシンボリック リンクまたはコピー
mediapipe/mediapipe/provisioning_profile.mobileprovision
。cd mediapipe ln -s ~/Downloads/MyProvisioningProfile.mobileprovision mediapipe/provisioning_profile.mobileprovision
mediapipe/examples/ios/bundle_id.bzl
を開き、BUNDLE_ID_PREFIX
を、プロビジョニング プロファイルに関連付けられたプレフィックスに追加します。
Xcode を使用してアプリをビルドして実行する
Xcode プロジェクトを作成し、自動または カスタム プロビジョニングに使用できます。
ターゲット メニューで Mediapipe フレームワークのデモを選択できるようになりました。 通常どおりビルドして実行します
コマンドラインを使用してアプリをビルドする
自動プロビジョニングまたはカスタム プロビジョニングのいずれかが設定されていることを確認します。
たとえば、MediaPipe Hands を使用して次のコマンドを実行します。
bazel build -c opt --config=ios_arm64 mediapipe/examples/ios/handtrackinggpu:HandTrackingGpuApp
アプリに署名するための権限リクエストが
codesign
から表示されることがあります。Xcode で
Devices and Simulators
ウィンドウを開きます(command+shift+2)。デバイスが接続されていることを確認してください。インストール済みアプリのリストが表示されます。 [+] を押しますボタンをクリックし、
.ipa
ファイルを選択します。 Bazel。デバイスでアプリを実行できるようになりました。