Habilita la API de Geospatial en tu app para iOS

Establece la configuración de tu app para que pueda usar la API de Geospatial.

Requisitos previos

Asegúrate de comprender los conceptos fundamentales de RA y cómo configurar una sesión de ARCore antes de continuar.

Si quieres ejecutar una app de ejemplo que demuestre la funcionalidad que se describe aquí, consulta la Guía de inicio rápido de ARCore Geospatial para iOS.

Consulta la Introducción a la API de Geospatial para obtener más información información sobre la API de Geospatial.

Si es la primera vez que desarrollas con ARCore, consulta Primeros pasos. para obtener información sobre requisitos de software y hardware, requisitos más información específica de las plataformas que utilizas.

Habilita la API de ARCore

Antes de usar el sistema de posicionamiento visual (VPS) en tu aplicación, primero debes Habilita la API de ARCore. en un proyecto de Google Cloud nuevo o existente. Este servicio es responsable alojar, almacenar y resolver anclas geoespaciales.

Se prefiere la autorización sin clave, aunque también se admite la autorización de la clave de API.

Agrega las bibliotecas requeridas a tu app

Después de autorizar tu app para que llame a la API de ARCore, debes agregar bibliotecas a Habilita las funciones geoespaciales en tu app.

Actualiza el archivo Podfile de tu app para que incluya el SDK de ARCore y los dispositivos iOS compatibles. y el control de versiones. Para ello, sigue estos pasos:

  1. Agrega los siguientes platform y pod a tu Podfile del proyecto:

    platform :ios, '11.0'
    pod 'ARCore/Geospatial', '~> 1.45.0'
    

    También puedes especificar platform :ios, '10.0' si deseas admitir iOS 10. pero ten en cuenta que la API de Geospatial solo funcionará durante el tiempo de ejecución en iOS >= 11.

  2. Abre una ventana de terminal y ejecuta pod install desde la carpeta en la que que exista tu proyecto de Xcode.

    Esto genera un archivo .xcworkspace que usarás para compilar y para ejecutar la app.

Asegúrate de que tu entorno de desarrollo cumpla con los requisitos del SDK de ARCore, como que se describe en la guía de inicio rápido.

Habilita las capacidades geoespaciales en la configuración de la sesión

Comprueba la compatibilidad de los dispositivos

No todos los dispositivos compatibles con ARCore también admiten la API de Geospatial, ya que se describe en la guía de inicio rápido.

Usa GARSession.isGeospatialModeSupported: para verificar el dispositivo, como se muestra a continuación:

if (![self.garSession isGeospatialModeSupported:GARGeospatialModeEnabled]) {
  [self setErrorStatus:@"GARGeospatialModeEnabled is not supported on this device."];
  return;
}

GARSessionConfiguration *configuration = [[GARSessionConfiguration alloc] init];
configuration.geospatialMode = GARGeospatialModeEnabled;
[self.garSession setConfiguration:configuration error:&error];
if (error) {
  [self setErrorStatus:[NSString stringWithFormat:@"Failed to configure GARSession: %d",
                                                  (int)error.code]];
  return;
}

Solicita permisos de ubicación al usuario durante el tiempo de ejecución

Tu app debe solicitar los siguientes permisos de ubicación durante el tiempo de ejecución, antes de configurar la sesión:

Comprueba la disponibilidad de datos geoespaciales en la ubicación actual del dispositivo

Debido a que la API de Geospatial usa una combinación de VPS y GPS para determinar una transformación geoespacial, la API se puede usar siempre y cuando el dispositivo pueda determinar su ubicación. En áreas con baja precisión de GPS, como espacios interiores y entornos urbanos densos, la API dependerá de la cobertura del VPS para generar transformaciones de alta precisión. En condiciones típicas, se espera que el VPS proporcione una precisión posicional de aproximadamente 5 metros y una precisión de rotación de 5 grados. Usa GARSession.checkVPSAvailabilityAtCoordinate:completionHandler: para determinar si una ubicación determinada tiene cobertura de VPS.

La API de Geospatial también se puede usar en áreas que no tienen cobertura VPS. En entornos al aire libre con pocas obstrucciones elevadas o ninguna, el GPS puede ser suficiente para generar una transformación con alta precisión.

¿Qué sigue?