Guia de configuração para iOS

Nesta página, mostramos como configurar seu ambiente de desenvolvimento para usar o MediaPipe Tasks nos seus apps iOS.

Dispositivos e plataformas com suporte

Para criar apps iOS com o MediaPipe Tasks, seu ambiente de desenvolvimento exige o seguinte:

  • macOS Mojave 10.14.3 ou mais recente

  • Xcode 10.3 ou mais recente.

  • Dispositivo iOS com pelo menos o iOS 12.0. Como alternativa, um simulador para iOS pode processar aplicativos que não exigem a câmera do dispositivo.

Configuração do ambiente do desenvolvedor

Antes de executar uma tarefa do MediaPipe em um aplicativo iOS, você precisa ter um projeto Xcode existente ou criar um novo na máquina local.

O MediaPipe Tasks só pode ser instalado usando o CocoaPods. É necessário instalar o CocoaPods 1.12.1 ou posterior antes de começar. Para instruções sobre como instalar o CocoaPods no macOS, consulte o guia de instalação do CocoaPods.

Exemplo de configuração de código

O repositório Exemplos do MediaPipe contém exemplos de aplicativos iOS para tarefas do MediaPipe.

É possível criar um projeto com base no código de exemplo, criá-lo e executar a tarefa. As etapas a seguir criam a tarefa Classificado de texto.

Para importar e criar o projeto de código de exemplo:

  1. Abra o terminal, clone o repositório de exemplos do MediaPipe e navegue até o diretório que contém TextClassifier.xcodeproj e Podfile.

    git clone https://github.com/google-ai-edge/mediapipe-samples
    cd mediapipe/examples/text_classification/ios
    
  2. Instale o MediaPipe Tasks usando o CocoaPods:

    pod install
    

    Esse comando cria um arquivo TextClassifier.xcworkspace no diretório do projeto de exemplo.

  3. Clique duas vezes no arquivo TextClassifier.xcworkspace para abrir o projeto no Xcode. Se o arquivo TextClassifier.xcodeproj já estiver aberto, feche-o antes de abrir o arquivo TextClassifier.xcworkspace.

  4. Selecione o esquema TextClassifier e escolha um dispositivo ou simulador físico com iOS na barra de ferramentas da janela do projeto. Ao usar um dispositivo físico com iOS, verifique se ele está conectado ao Mac.

  5. Clique no botão Run na barra de ferramentas do projeto.

Para mais instruções sobre como executar um app no Xcode, consulte Como criar e executar um app.

Dependências do MediaPipe Tasks

O MediaPipe Tasks oferece duas bibliotecas pré-criadas para visão e texto. O arquivo de modelo .tflite precisa estar localizado no pacote do aplicativo iOS que usa o modelo. Dependendo do MediaPipe Tas, adicione a biblioteca de visão ou de texto à lista de pods no Podfile do CocoaPods. Para instruções sobre como criar um Podfile com os pods necessários para o aplicativo, consulte Como usar o CocoaPods.

Tarefas de IA generativa

As bibliotecas de IA generativa do MediaPipe Tasks têm tarefas que processam a geração de imagens ou textos. Para instalar a biblioteca de IA generativa do MediaPipe Tasks, adicione os pods MediaPipeTasksGenAI e MediaPipeTasksGenAIC ao destino do app no Podfile.

API LLM Inference

A tarefa de inferência de LLM do MediaPipe está contida nos pods MediaPipeTasksGenAI e MediaPipeTasksGenAIC.

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

Tarefas de visão

A biblioteca de visão do MediaPipe Tasks contém tarefas que processam entradas de imagem ou vídeo. Para instalar a biblioteca de visão do MediaPipe Tasks, adicione o pod MediaPipeTasksVision ao destino do app no Podfile.

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

Tarefas de texto

A biblioteca de texto MediaPipe Tasks contém tarefas que processam dados de idioma no formato de texto. Para instalar a biblioteca de texto do MediaPipe Tasks, adicione o pod MediaPipeTasksText ao destino do app no Podfile

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

Configurar destinos de teste

Se o app tiver um destino de teste, verifique se o Podfile segue uma das implementações a seguir para evitar comportamentos indesejados ao usar uma biblioteca de tarefas do MediaPipe.

A implementação mais simples é garantir que o destino do teste não esteja aninhado dentro do destino do app principal que adiciona o pod de tarefas do MediaPipe.

target 'MyAppWithMediaPipeTasks' do
  pod 'MediaPipeTasksVision'
end

target 'MyAppWithMediaPipeTasksTests' do

end

Se o destino do teste precisar ser aninhado no destino do app principal, o Podfile precisará estar em conformidade com a seguinte implementação:

target 'MyAppWithMediaPipeTasks' do
  pod 'MediaPipeTasksVision'

    target 'MyAppWithMediaPipeTasksTests' do
      inherit! :none

    end
end

Configuração de BaseOptions

As BaseOptions permitem a configuração geral das APIs Task do MediaPipe.

Nome da opção Descrição Valores aceitos
modelAssetPath O caminho do modelo para um arquivo de modelo no pacote de aplicativos iOS. Caminho como uma string.

Aceleração de hardware

No iOS, o MediaPipe Tasks só oferece suporte à execução de modelos em processadores de CPU padrão.

Solução de problemas

Para receber ajuda com dúvidas técnicas relacionadas ao MediaPipe, acesse o grupo de discussão ou o Stack Overflow para receber suporte da comunidade. Para informar bugs ou solicitar recursos, registre um problema no GitHub.

Para receber ajuda na configuração do ambiente de desenvolvimento do iOS, acesse a Documentação do desenvolvedor da Apple.