Guía de inicio rápido de Geospatial para iOS

En esta guía de inicio rápido para la API de ARCore Geospatial, se muestra cómo ejecutar una app de ejemplo en Xcode que demuestre la API de Geospatial.

Si deseas obtener una guía para desarrollar tu propia app con la API de Geospatial, consulta la guía para desarrolladores de Geospatial para iOS.

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

Si es la primera vez que desarrollas con ARCore, consulta Cómo comenzar.

Requisitos previos

  • Xcode, versión 13.0 o posterior
  • CocoaPods 1.4.0 o una versión posterior si usas CocoaPods
  • Un dispositivo Apple compatible con ARKit que ejecute iOS 12.0 o una versión posterior (se requiere el destino de implementación de iOS 12.0 o una versión posterior)

Configura la app de muestra

En el proyecto GeospatialExample incluido con el SDK de ARCore para iOS, se describe el código que llama a la API de Geospatial.

  1. Clona o descarga el SDK de ARCore para iOS desde GitHub a fin de obtener el código de la app de ejemplo.

  2. Abre una ventana de Terminal o Finder y navega a la carpeta en la que clonaste o descargaste el SDK.

  3. Navega hasta la carpeta arcore-ios-sdk-master/Examples.

  4. Abre la carpeta Ejemplos, selecciona la carpeta GeospatialExample y haz clic en Open.

Configura un proyecto de Google Cloud

Para usar el sistema de posicionamiento visual (VPS), tu app debe estar asociada a un proyecto de Google Cloud habilitado para la API de ARCore.

Debes habilitar la API de ARCore en tu proyecto de Google Cloud. Si necesitas crear el proyecto, haz lo siguiente:

  1. Visita Cómo crear un proyecto en Google Cloud Platform.

  2. Ingresa un Nombre del proyecto adecuado y elige una ubicación para él.

  3. Haz clic en Crear.

  4. En la barra lateral, selecciona APIs y servicios y, luego, Biblioteca.

  5. Busca la API de ARCore, selecciónala y haz clic en Habilitar.

Configura la autorización

Para realizar llamadas a la API de Geospatial al VPS, la app de ejemplo necesita autorización y puede usar una clave de API sin restricciones. Si usas una clave de API restringida, también debes proporcionar un ID de paquete para asociarlo con la clave de API.

  1. En tu proyecto de Google Cloud, obtén una clave de API como se describe en Crea una clave de API.

  2. Copia la clave de API, como la pegarás en un paso posterior.

  3. En Xcode, en la app de ejemplo GeospatialExample, abre el archivo ViewController.m y busca your-api-key.

  4. Agrega tu clave de API a GARSession. Pega la clave de API que copiaste de un paso anterior sobre el texto, your-api-key (deja las comillas), como se muestra a continuación.

    self.garSession = [GARSession sessionWithAPIKey:@"your-api-key"
                                   bundleIdentifier:nil
                                              error:&error];
    

Configura el SDK de ARCore

La app de GeospatialExample se envía con un Podfile preconfigurado con el SDK de ARCore y las versiones de iOS que necesitas. Para instalar estas dependencias, abre una ventana de terminal y ejecuta pod install desde la carpeta en la que se encuentra el proyecto de Xcode.

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

Cómo compilar y ejecutar la app de muestra

  1. En Xcode, selecciona el archivo de lugar de trabajo GeospatialExample y haz clic en Signing & Capabilities.

  2. Marca la casilla Administrar la firma automáticamente.

  3. En el campo Equipo, ingresa un nombre para el equipo.

    Puedes usar el identificador de paquete predeterminado para ejecutar la app desde Xcode, pero debes cambiarlo si usas GeospatialExample como stub para tu propia app en producción.

  4. Conecta tu dispositivo para ejecutar la app de ejemplo.

  5. Compila y ejecuta la app de GeospatialExample desde el archivo .xcworkspace para iniciarla en tu dispositivo.

    Para evitar errores de compilación, asegúrate de compilar desde el archivo .xcworkspace y no desde el archivo .xcodeproj.

Deberías poder ver una vista de cámara, junto con información de depuración que describa la transformación geoespacial actual de tu dispositivo. A medida que analizas el entorno que te rodea, observas que los valores de confianza de la precisión del posicionamiento pueden cambiar a medida que te desplazas, si te encuentras en un área admitida por la localización de VPS.

Cuando ARCore confía en la ubicación y la orientación de tu dispositivo, puedes colocar un ancla en tu ubicación actual con la transformación geoespacial.

Es posible que la precisión de posicionamiento sea demasiado baja si la información de los VPS no está disponible. La app debe estar conectada a Internet, y el VPS debe conocer la ubicación. Para obtener mejores resultados, ejecuta la app de ejemplo en el exterior (no en el interior) durante el día.

Además, si te encuentras en un área que no admite VPS, o si las señales de GPS no son suficientes, es posible que debas ajustar los umbrales de confianza de la app para colocar un ancla.

Para ajustar los umbrales, haz lo siguiente:

  1. En Xcode, abre el archivo ViewController.m y navega a la siguiente sección:

    // Thresholds for 'good enough' accuracy. These can be tuned for the
    // application. We use both 'low'
    // and 'high' values here to avoid flickering state changes.
    static const CLLocationAccuracy kHorizontalAccuracyLowThreshold = 10;
    static const CLLocationAccuracy kHorizontalAccuracyHighThreshold = 20;
    static const CLLocationDirectionAccuracy kHeadingAccuracyLowThreshold = 15;
    static const CLLocationDirectionAccuracy kHeadingAccuracyHighThreshold = 25;
    
  2. Ajusta estos valores según sea necesario. Cuanto más alto sea el valor, menor será la exactitud.

    Reducir la exactitud permite que la app disponga de una latitud mayor para colocar un ancla. Si deseas obtener más información, consulta Ajusta para obtener precisión de transformación.

Próximos pasos

Revisa la Guía para desarrolladores de Geospatial para iOS y comienza a compilar con la API de Geospatial.