请按照以下说明使用 MediaPipe 框架构建 iOS 示例应用。如需详细了解这些示例应用,请从 iOS 版 Hello World! 开始。
构建 iOS 示例应用
前提条件
按照这些instructions安装 Mediapipe 框架。
安装 Xcode,然后使用以下命令安装命令行工具:
xcode-select --install
安装 Bazelisk。
我们建议使用 Homebro 获取最新版本。
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 设备上安装应用,您需要配置配置文件。共有两个选项可供选择:
自动配置。这样,您就可以构建应用并将其安装到个人设备上。预配配置文件由 Xcode 管理,必须经常更新(有效期约一周)。
自定义配置。此 API 使用与 Apple 开发者帐号关联的预配配置文件。这些配置文件的有效期较长,可以针对多台设备,但您需要有 Apple 付费开发者账号才能获取此类配置文件。
自动配置
如上文所述,为 MediaPipe 创建 Xcode 项目
在左侧边栏的项目导航器中,选择“Mediapipe”项目。
选择一个应用目标,例如 HandTrackingGpuApp。
选择“Signing & Capabilities”(签名和功能)标签页。
选中“自动管理签名”并确认对话框。
在“团队”对话框菜单中选择“Your Name (个人团队)”。
您需要对要安装的每个应用进行一次此设置。根据需要重复第 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
文件。现在,您可以在设备上运行该应用。