iOS 上的 MediaPipe 框架

按照以下说明使用 MediaPipe 构建 iOS 示例应用 框架。如需详细了解这些示例应用,请从您好! 世界!

构建 iOS 示例应用

前提条件

  1. 按照这些说明安装 Mediapipe Framework。

  2. 安装 Xcode,然后安装 命令行工具:

    xcode-select --install
    
  3. 安装 Bazelisk

    我们建议使用 Homebrew 来获取最新版本。

    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
    

    这会将 Tulsi.app 安装在以下内容的 Applications 目录中: 主目录中。

  2. 使用 Tulsi 应用打开 mediapipe/Mediapipe.tulsiproj

  3. 在“Configs”标签页中选择 MediaPipe 配置,然后按“Generate”(生成) 按钮。系统会要求您提供用于保存 Xcode 项目的位置。 项目生成后,将在 Xcode 中打开。

    如果您收到有关软件包 ID 的错误消息,请参阅 上一节

设置预配

要在 iOS 设备上安装应用,您需要有配置文件。那里 有两个选项:

  1. 自动配置。这样你就可以构建和安装应用 个人设备配置文件由 Xcode 管理,必须 经常更新(有效期约一周)。

  2. 自定义配置。它使用与 Apple 开发者账号。这些商家资料的有效期较长, 可以定位到多种设备,但您需要一个 Apple 即可获取一个。

自动预配

  1. 按照所述为 MediaPipe 创建一个 Xcode 项目 较早

  2. 在左侧边栏的项目导航器中,选择“Mediapipe” 项目。

  3. 选择一个应用目标,例如 HandTrackingGpuApp。

  4. 选择“签署和功能"标签页。

  5. 选中“自动管理签名”,并确认对话框。

  6. 选择“您的姓名(个人团队)”。

  7. 对于您要安装的每个应用,此设置都需要进行一次。 根据需要重复第 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 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. 现在,您可以在设备上运行该应用。