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.

Si es la primera vez que desarrollas con ARCore, consulta la sección Cómo comenzar para obtener información sobre los requisitos de software y hardware, los requisitos previos y otra información específica de las plataformas que usas.

Habilita la API de ARCore

Antes de usar el sistema de posicionamiento visual (VPS) en tu app, primero debes habilitar la API de ARCore en un proyecto de Google Cloud nuevo o existente. Este servicio se encarga de alojar, almacenar y resolver las anclas geoespaciales.

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

Agrega las bibliotecas requeridas a tu app

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

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

  1. Agrega los siguientes elementos platform y pod al Podfile de tu proyecto:

    platform :ios, '11.0'
    pod 'ARCore/Geospatial', '~> 1.41.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 existe tu proyecto de Xcode.

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

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

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

Cómo comprobar la compatibilidad del dispositivo

No todos los dispositivos compatibles con ARCore también admiten la API de Geospatial, como se describe en la quickstart.

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;
}

Cómo solicitar al usuario permisos de ubicación 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 geoespacial 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 que el dispositivo pueda determinar su ubicación. En áreas con baja precisión de GPS, como espacios interiores y entornos urbanos densamente poblados, la API utilizará la cobertura de VPS para generar transformaciones de alta precisión. En condiciones típicas, se puede esperar 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 de VPS. En entornos exteriores con pocas obstrucciones en la parte superior o ninguna, el GPS puede ser suficiente para generar una transformación con alta precisión.

Próximos pasos