Guía de configuración para iOS

En esta página, se muestra cómo configurar tu entorno de desarrollo para usar MediaPipe Tasks en tus aplicaciones para iOS.

Plataformas y dispositivos compatibles

Si quieres crear aplicaciones para iOS con MediaPipe Tasks, tu entorno de desarrollo requiere lo siguiente:

  • macOS Mojave 10.14.3 o una versión posterior

  • Xcode 10.3 o una versión posterior

  • Debes tener un dispositivo iOS que tenga al menos iOS 12.0. De manera alternativa, un simulador de iOS puede manejar aplicaciones que no requieren la cámara del dispositivo.

Configuración del entorno para desarrolladores

Antes de ejecutar una tarea de MediaPipe en una aplicación para iOS, debes tener un proyecto de Xcode existente o crear uno nuevo en tu máquina local.

MediaPipe Tasks solo se puede instalar con CocoaPods. Debes instalar CocoaPods 1.12.1 o una versión más reciente antes de comenzar. Si quieres obtener instrucciones para instalar CocoaPods en macOS, consulta la guía de instalación de CocoaPods.

Ejemplo de configuración de código

El repositorio de Ejemplos de MediaPipe contiene aplicaciones para iOS de ejemplo para tareas de MediaPipe.

Puedes crear un proyecto a partir del código de ejemplo, compilar el proyecto y ejecutar la tarea. Mediante los siguientes pasos, se compila la tarea de Clasificador de texto.

Para importar y compilar el proyecto de código de ejemplo, haz lo siguiente:

  1. Abre la terminal, clona el repositorio de ejemplos de MediaPipe y navega al directorio que contiene TextClassifier.xcodeproj y Podfile.

    git clone https://github.com/google-ai-edge/mediapipe-samples
    cd mediapipe/examples/text_classification/ios
    
  2. Instala las tareas de MediaPipe con CocoaPods:

    pod install
    

    Con este comando, se crea un archivo TextClassifier.xcworkspace en el directorio del proyecto de ejemplo.

  3. Haz doble clic en el archivo TextClassifier.xcworkspace para abrir el proyecto en Xcode. Si el archivo TextClassifier.xcodeproj ya está abierto, ciérralo antes de abrir el archivo TextClassifier.xcworkspace.

  4. Selecciona el esquema TextClassifier y elige un dispositivo iOS físico o un simulador en la barra de herramientas de la ventana de tu proyecto. Si usas un dispositivo iOS físico, asegúrate de que esté conectado a tu Mac.

  5. Haz clic en el botón Run en la barra de herramientas de tu proyecto.

Si quieres obtener más instrucciones para ejecutar una app en Xcode, consulta Cómo compilar y ejecutar una app.

Dependencias de MediaPipe Tasks

MediaPipe Tasks proporciona dos bibliotecas compiladas previamente para visión y texto. El archivo del modelo .tflite debe estar ubicado en el paquete de la aplicación para iOS que usa el modelo. Según las Tas de MediaPipe, agrega la biblioteca de visión o texto a la lista de Pods dentro de Podfile de CocoaPods. Si quieres obtener instrucciones para crear un Podfile con los Pods necesarios de tu app, consulta Usa CocoaPods.

Tareas de IA generativa

Las bibliotecas de IA generativa de MediaPipe Tasks contienen tareas que controlan la generación de imágenes o texto. Para instalar la biblioteca de IA generativa de MediaPipe Tasks, agrega los Pods MediaPipeTasksGenAI y MediaPipeTasksGenAIC al destino de tu app en Podfile.

API de inferencia de LLM

La tarea de inferencia del LLM de MediaPipe se encuentra dentro de los Pods MediaPipeTasksGenAI y MediaPipeTasksGenAIC.

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

Tareas de visión

La biblioteca de visión de MediaPipe Tasks contiene tareas que controlan las entradas de imagen o video. Para instalar la biblioteca de visión de MediaPipe Tasks, agrega el Pod MediaPipeTasksVision al destino de tu app en Podfile.

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

Tareas de texto

La biblioteca de texto de MediaPipe Tasks contiene tareas que controlan los datos de idioma en formato de texto. Para instalar la biblioteca de texto de MediaPipe Tasks, agrega el Pod MediaPipeTasksText al destino de tu app en Podfile

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

Configura objetivos de prueba

Si tu app tiene un destino de prueba, asegúrate de que tu Podfile cumpla con cualquiera de las siguientes implementaciones para evitar comportamientos no deseados cuando uses una biblioteca de tareas de MediaPipe.

La implementación más simple es asegurarse de que el destino de prueba no esté anidado dentro del destino principal de la app que agrega el Pod de tareas de MediaPipe.

target 'MyAppWithMediaPipeTasks' do
  pod 'MediaPipeTasksVision'
end

target 'MyAppWithMediaPipeTasksTests' do

end

Si el destino de prueba debe anidarse dentro del destino de la app principal, el Podfile debe cumplir con la siguiente implementación:

target 'MyAppWithMediaPipeTasks' do
  pod 'MediaPipeTasksVision'

    target 'MyAppWithMediaPipeTasksTests' do
      inherit! :none

    end
end

Configuración de BaseOptions

Las BaseOptions permiten la configuración general de las API de MediaPipe Task.

Nombre de la opción Descripción Accepted values
modelAssetPath La ruta de acceso del modelo a un archivo de modelo en el paquete de aplicación para iOS. Ruta de acceso como una cadena.

Aceleración de hardware

En iOS, MediaPipe Tasks solo admite modelos en ejecución en procesadores de CPU estándar.

Solución de problemas

Si quieres obtener ayuda con preguntas técnicas relacionadas con MediaPipe, visita el grupo de discusión o Stack Overflow para obtener asistencia de la comunidad. Para informar errores o realizar solicitudes de funciones, informa un problema en GitHub.

Para obtener ayuda con la configuración de tu entorno de desarrollo para iOS, visita la Documentación para desarrolladores de Apple.