iOS 设置指南

本页介绍了如何设置开发环境,以在 iOS 应用中使用 MediaPipe Tasks。

支持的设备和平台

如需使用 MediaPipe Tasks 创建 iOS 应用,您的开发环境需要满足以下要求:

  • macOS Mojave 10.14.3 或更高版本。

  • Xcode 10.3 或更高版本。

  • 搭载 iOS 12.0 或更高版本的 iOS 设备。或者,iOS 模拟器也可以处理不需要设备相机的应用。

开发者环境设置

在 iOS 应用上运行 MediaPipe 任务之前,您必须已有 Xcode 项目或在本地机器上创建一个新项目。

只能使用 CocoaPods 安装 MediaPipe Tasks。 您必须先安装 CocoaPods 1.12.1 或更高版本,然后才能开始操作。如需了解如何在 macOS 上安装 CocoaPods,请参阅 CocoaPods 安装指南

示例代码设置

MediaPipe 示例代码库包含用于 MediaPipe 任务的示例 iOS 应用。

您可以从示例代码创建项目,构建项目并运行任务。以下步骤构建文本分类器任务。

如需导入并构建示例代码项目,请执行以下操作:

  1. 打开终端,克隆 MediaPipe 示例代码库,然后导航到包含 TextClassifier.xcodeprojPodfile 的目录。

    git clone https://github.com/google-ai-edge/mediapipe-samples
    cd mediapipe/examples/text_classification/ios
    
  2. 使用 CocoaPods 安装 MediaPipe Tasks:

    pod install
    

    此命令会在示例项目目录中创建一个 TextClassifier.xcworkspace 文件。

  3. 双击 TextClassifier.xcworkspace 文件以在 Xcode 中打开项目。如果 TextClassifier.xcodeproj 文件已经打开,请先将其关闭,然后再打开 TextClassifier.xcworkspace 文件。

  4. 选择 TextClassifier 架构,然后从项目窗口的工具栏中选择 iOS 实体设备或模拟器。使用 iOS 实体设备时,请确保该设备已连接到您的 Mac。

  5. 点击项目工具栏中的 Run 按钮。

如需详细了解如何在 Xcode 上运行应用,请参阅构建和运行应用

MediaPipe Tasks 依赖项

MediaPipe Tasks 提供了两个预构建的视觉和文本库。.tflite 模型文件必须位于使用该模型的 iOS 应用的软件包中。根据 MediaPipe Tas,将 Vision 库或文本库添加到 CocoaPods Podfile 内的 Pod 列表中。如需了解如何使用应用所需的 pod 创建 Podfile,请参阅使用 CocoaPods

生成式 AI 任务

MediaPipe Tasks 生成式 AI 库包含用于处理图片或文本生成的任务。如需安装 MediaPipe Tasks Generative AI 库,请在 Podfile 中将 MediaPipeTasksGenAIMediaPipeTasksGenAIC Pod 添加到应用的目标。

LLM 推断 API

MediaPipe LLM 推断任务包含在 MediaPipeTasksGenAIMediaPipeTasksGenAIC pod 中。

target 'MyLlmInferenceApp' do
  use_frameworks!
  pod 'MediaPipeTasksGenAI'
  pod 'MediaPipeTasksGenAIC'
end

视觉任务

MediaPipe Tasks 视觉库包含用于处理图片或视频输入的任务。如需安装 MediaPipe Tasks 视觉库,请在 Podfile 中将 MediaPipeTasksVision pod 添加到应用的目标。

target 'MyAppWithMediaPipeTasksVision' do
  use_frameworks!
  pod 'MediaPipeTasksVision'
end

文本任务

MediaPipe Tasks 文本库包含以文本格式处理语言数据的任务。如需安装 MediaPipe Tasks 文本库,请在 Podfile 中将 MediaPipeTasksText pod 添加到应用的目标

target 'MyAppWithMediaPipeTasksText' do
  use_frameworks!
  pod 'MediaPipeTasksText'
end

配置测试目标

如果您的应用具有测试目标,请确保您的 Podfile 符合以下任一实现要求,以避免在使用 MediaPipe 任务库时出现任何不良行为。

最简单的实现是确保测试目标未嵌套在添加 MediaPipe 任务 pod 的主应用目标中。

target 'MyAppWithMediaPipeTasks' do
  pod 'MediaPipeTasksVision'
end

target 'MyAppWithMediaPipeTasksTests' do

end

如果测试目标必须嵌套在主应用目标中,则 Podfile 必须符合以下实现要求:

target 'MyAppWithMediaPipeTasks' do
  pod 'MediaPipeTasksVision'

    target 'MyAppWithMediaPipeTasksTests' do
      inherit! :none

    end
end

BaseOptions 配置

BaseOptions 允许对 MediaPipe 任务 API 进行常规配置。

选项名称 说明 已接受的值
modelAssetPath iOS 应用软件包中模型文件的模型路径。 以字符串表示的路径。

硬件加速

在 iOS 上,MediaPipe Tasks 仅支持在标准 CPU 处理器上运行模型。

问题排查

如需有关 MediaPipe 的技术问题方面的帮助,请访问论坛Stack Overflow 以获取社区支持。如需报告 bug 或提出功能请求,请在 GitHub 上提交问题

如果在设置 iOS 开发环境方面需要帮助,请访问 Apple 开发者文档