Sigue las instrucciones que aparecen a continuación a fin de compilar apps de ejemplo para iOS con el framework de MediaPipe. Para obtener más información sobre estas apps de ejemplo, comienza desde Hello World! en iOS.
Cómo compilar apps de ejemplo para iOS
Requisitos
Instala Mediapipe Framework siguiendo estas instructions.
Instala Xcode y, luego, instala las herramientas de línea de comandos con el siguiente comando:
xcode-select --install
Instala Bazelisk.
Te recomendamos usar Homebrew para obtener las versiones más recientes.
brew install bazelisk
Establece Python 3.7 como la versión predeterminada de Python y, luego, instala la biblioteca "six" de Python. Esto es necesario para TensorFlow.
pip3 install --user six
Clona el repositorio de MediaPipe.
git clone https://github.com/google/mediapipe.git
Cómo configurar un prefijo de ID de paquete
Todas las apps para iOS deben tener un ID de paquete, y debes tener un perfil de aprovisionamiento que te permita instalar una app con ese ID en tu teléfono. Para evitar conflictos entre diferentes usuarios de MediaPipe, debes configurar un prefijo único para los IDs de paquete de nuestras apps de demostración para iOS.
Si tienes un perfil de aprovisionamiento personalizado, consulta Aprovisionamiento personalizado a continuación.
De lo contrario, ejecuta este comando para generar un prefijo único:
python3 mediapipe/examples/ios/link_local_profiles.py
Crea un proyecto de Xcode
Esto te permite editar y depurar una de las apps de ejemplo en Xcode. También te permite usar el aprovisionamiento automático (consulta la sección más adelante).
Usaremos una herramienta llamada Tulsi para generar proyectos de Xcode a partir de configuraciones de compilación de 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
Esto instalará
Tulsi.app
dentro del directorioApplications
en tu directorio principal.Abre
mediapipe/Mediapipe.tulsiproj
con la app de Tulsi.Selecciona la configuración de MediaPipe en la pestaña Configs y, luego, presiona el botón Generate a continuación. Se te pedirá una ubicación para guardar el proyecto de Xcode. Una vez que se genere el proyecto, se abrirá en Xcode.
Si recibes un error sobre los IDs de paquetes, consulta la sección anterior.
Configura el aprovisionamiento
Para instalar aplicaciones en un dispositivo iOS, necesitas un perfil de aprovisionamiento. Existen dos opciones:
Aprovisionamiento automático. Esto te permite compilar e instalar una app en tu dispositivo personal. Xcode administra el perfil de aprovisionamiento, que debe actualizarse con frecuencia (válido durante aproximadamente una semana).
Aprovisionamiento personalizado. Usa un perfil de aprovisionamiento asociado a una cuenta de desarrollador de Apple. Estos perfiles tienen un período de validez más largo y pueden orientarse a varios dispositivos, pero necesitas una cuenta de desarrollador pagada con Apple para obtener uno.
Aprovisionamiento automático
Crea un proyecto de Xcode para MediaPipe, como se explicó antes.
En el navegador de proyectos, en la barra lateral izquierda, selecciona el proyecto “Mediapipe”.
Selecciona una de las orientaciones de la aplicación; por ejemplo, HandTrackingGpuApp.
Selecciona la pestaña "Signing & Capabilities".
Marca la opción "Administrar firma automáticamente" y confirma el cuadro de diálogo.
Selecciona "Your Name (Personal Team)" en el menú de diálogo Equipo.
Esta configuración se debe realizar una vez para cada aplicación que desees instalar. Repite los pasos 3 a 6 según sea necesario.
Esto genera perfiles de aprovisionamiento para cada app que seleccionaste. Ahora debes indicarle a Bazel que los use. Proporcionamos una secuencia de comandos para facilitar este proceso.
En la terminal, ve al directorio
mediapipe
en el que clonaste el repositorio.Ejecuta este comando:
python3 mediapipe/examples/ios/link_local_profiles.py
Esto buscará y vinculará el perfil de aprovisionamiento de todas las aplicaciones para las que habilitaste el aprovisionamiento automático en Xcode.
Aprovisionamiento personalizado
- Obtén un perfil de aprovisionamiento de Apple.
Establece un vínculo simbólico o copia tu perfil de aprovisionamiento en
mediapipe/mediapipe/provisioning_profile.mobileprovision
.cd mediapipe ln -s ~/Downloads/MyProvisioningProfile.mobileprovision mediapipe/provisioning_profile.mobileprovision
- Abre
mediapipe/examples/ios/bundle_id.bzl
y cambiaBUNDLE_ID_PREFIX
por un prefijo asociado con tu perfil de aprovisionamiento.
Compila y ejecuta una app con Xcode
Crea el proyecto de Xcode y asegúrate de haber configurado el aprovisionamiento automático o personalizado.
Ahora puedes seleccionar cualquiera de las demostraciones de Mediapipe Framework en el menú de destino, y compilarlas y ejecutarlas como de costumbre.
Cómo compilar una app con la línea de comandos
Asegúrate de haber configurado el aprovisionamiento automático o personalizado.
Por ejemplo, con las manos de MediaPipe, ejecuta lo siguiente:
bazel build -c opt --config=ios_arm64 mediapipe/examples/ios/handtrackinggpu:HandTrackingGpuApp
Es posible que veas una solicitud de permiso de
codesign
para firmar la app.En Xcode, abre la ventana
Devices and Simulators
(command-shift-2).Asegúrate de que tu dispositivo esté conectado. Verás una lista de las apps instaladas. Presiona el botón "+" en la lista y selecciona el archivo
.ipa
que compiló Bazel.Ahora puedes ejecutar la app en tu dispositivo.