请按照以下说明使用 MediaPipe 框架构建 iOS 示例应用。如需详细了解这些示例应用,请从 Hello World! on iOS 开始。
构建 iOS 示例应用
前提条件
按照以下说明安装 Mediapipe 框架。
安装 Xcode,然后使用以下命令安装命令行工具:
xcode-select --install
安装 Bazelisk。
我们建议您使用 Homebrew 获取最新版本。
brew install bazelisk
安装 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 build 配置生成 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
目录中。使用 Tulsi 应用打开
mediapipe/Mediapipe.tulsiproj
。在“配置”标签页中选择 MediaPipe 配置,然后按下下面的“生成”按钮。系统会要求您提供保存 Xcode 项目的位置。项目生成后,系统会在 Xcode 中打开该项目。
如果您收到有关软件包 ID 的错误,请参阅上一部分。
设置配置
如需在 iOS 设备上安装应用,您需要预配配置文件。有两个选项:
自动配置。这样,您就可以构建应用并将其安装到个人设备上。配置文件由 Xcode 管理,并且必须经常更新(有效期约为一周)。
自定义预配。此方法使用与 Apple 开发者账号关联的配置文件。这些配置文件的有效期更长,并且可以定位到多部设备,但您需要拥有 Apple 付费开发者账号才能获取此类配置文件。
自动配置
为 MediaPipe 创建 Xcode 项目,如前面所述
在左侧边栏的项目导航器中,选择“Mediapipe”项目。
选择其中一个应用目标,例如 HandTrackingGpuApp。
选择“签名和功能”标签页。
选中“自动管理签名”,然后确认对话框。
在“团队”对话框菜单中,选择“您的姓名(个人团队)”。
您需要为要安装的每个应用执行此设置一次。根据需要重复第 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)。确保您的设备已连接。您会看到已安装的应用列表。 按列表下的“+”按钮,然后选择由 Bazel 构建的
.ipa
文件。现在,您可以在设备上运行应用了。