Siga as instruções abaixo para criar aplicativos de exemplo para iOS com o MediaPipe de machine learning. Para saber mais sobre esses apps de exemplo, comece com Olá Mundo! no iOS.
Como criar apps de exemplo para iOS
Pré-requisito
Instale o framework do Mediapipe seguindo estas instruções.
Instale o Xcode e, em seguida, instale Ferramentas de linha de comando usando:
xcode-select --install
Instale o Bazelisk.
Recomendamos usar o Homebrew (link em inglês) para fazer o download das versões mais recentes.
brew install bazelisk
Defina o Python 3.7 como a versão padrão e instale o Python "six" biblioteca. Isso é necessário para o TensorFlow.
pip3 install --user six
Clone o repositório do MediaPipe.
git clone https://github.com/google/mediapipe.git
Configurar um prefixo de ID do pacote
Todos os aplicativos iOS devem ter um ID de pacote, e você deve ter um perfil de provisionamento que permite instalar um app com esse ID no smartphone. Para evitar conflitos entre diferentes usuários do MediaPipe, é preciso configurar um prefixo exclusivo para o IDs de pacotes dos apps de demonstração do iOS.
Se você tiver um perfil de provisionamento personalizado, consulte Provisionamento personalizado abaixo.
Caso contrário, execute este comando para gerar um prefixo exclusivo:
python3 mediapipe/examples/ios/link_local_profiles.py
Criar um projeto do Xcode
Isso permite que você edite e depure um dos apps de exemplo no Xcode. Ela também permite que você use o provisionamento automático (consulte a seção posterior).
Vamos usar uma ferramenta chamada Tulsi para gerar Projetos do Xcode das configurações de build do Bazel.
# 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
Isso instalará
Tulsi.app
dentro do diretórioApplications
no seu diretório inicial.Abra
mediapipe/Mediapipe.tulsiproj
usando o app Tulsi.Selecione a configuração do MediaPipe na guia "Configurações" e pressione o botão "Gerar" botão abaixo. Você precisará fornecer um local para salvar o projeto Xcode. Depois que o projeto for gerado, ele será aberto no Xcode.
Se você receber um erro sobre IDs de pacotes, consulte seção anterior.
Configurar o provisionamento
Para instalar aplicativos em um dispositivo iOS, você precisa de um perfil de provisionamento. existem duas opções:
Provisionamento automático. Isso permite que você crie e instale um app no seu dispositivo pessoal. O perfil de provisionamento é gerenciado pelo Xcode e precisa ser são atualizadas com frequência (válido por cerca de uma semana).
Provisionamento personalizado. Ele usa um perfil de provisionamento associado a um conta de desenvolvedor da Apple. Esses perfis têm um período de validade maior e pode segmentar vários dispositivos, mas é preciso ter uma conta de desenvolvedor paga com Apple para receber um.
Provisionamento automático
Crie um projeto Xcode para o MediaPipe, conforme discutido mais cedo
No navegador do projeto, na barra lateral esquerda, selecione "Mediapipe". em um projeto de IA.
Selecione um dos aplicativos de destino, por exemplo, HandtrackingGpuApp.
Marque a caixa de seleção "Assinar Recursos" .
Marque "Gerenciar a assinatura automaticamente" e confirme a caixa de diálogo.
Selecione Seu nome (equipe pessoal)" no menu da caixa de diálogo "Equipe".
Essa configuração precisa ser feita uma vez para cada aplicativo que você quer instalar. Repita as etapas 3 a 6 conforme necessário.
Isso gera perfis de provisionamento para cada app selecionado. Agora você precisa dizer ao Bazel para usá-los. Nós fornecemos um script para tornar isso mais fácil.
No terminal, para o diretório
mediapipe
em que você clonou o repositório de dados.Execute este comando:
python3 mediapipe/examples/ios/link_local_profiles.py
Essa ação encontra e vincula o perfil de provisionamento de todos os aplicativos para os quais você ativou o provisionamento automático no Xcode.
Provisionamento personalizado
- Receber um perfil de provisionamento da Apple.
Gerar link simbólico ou copiar seu perfil de provisionamento para
mediapipe/mediapipe/provisioning_profile.mobileprovision
:cd mediapipe ln -s ~/Downloads/MyProvisioningProfile.mobileprovision mediapipe/provisioning_profile.mobileprovision
- Abra
mediapipe/examples/ios/bundle_id.bzl
e altere oBUNDLE_ID_PREFIX
como um prefixo associado ao perfil de provisionamento.
Criar e executar um app usando o Xcode
Crie o projeto Xcode e verifique se você configurou um projeto automático ou com provisionamento personalizado.
Agora você pode selecionar qualquer uma das demonstrações do framework do Mediapipe no menu de destino, e crie e execute normalmente.
Criar um app usando a linha de comando
Verifique se você configurou o provisionamento automático ou personalizado.
Usando o MediaPipe Hands, por exemplo, execute:
bazel build -c opt --config=ios_arm64 mediapipe/examples/ios/handtrackinggpu:HandTrackingGpuApp
Talvez você receba uma solicitação de permissão de
codesign
para assinar o app.No Xcode, abra a janela
Devices and Simulators
(command-shift-2).Confira se o dispositivo está conectado. Uma lista dos apps instalados vai aparecer. Pressione o botão "+" abaixo da lista, e selecione o arquivo
.ipa
criado pelo o BazelAgora você pode executar o app no seu dispositivo.