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 muestra la API de Geospatial.

Si quieres 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 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 un destino de implementación de iOS 12.0 o una versión posterior)

Configura la app de muestra

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

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

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

  3. Navega a 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

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. Si bien la API de Geospatial funciona con con la autorización sin clave y con la clave de API. Para esta guía de inicio rápido, usa el Método de la clave.

Configura la autorización

Para realizar llamadas a la API de Geospatial al VPS, la app de ejemplo necesita autorización. 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 Xcode, en la app de ejemplo GeospatialExample, abre ViewController.m y busca your-api-key.

  2. Agrega tu clave de API a GARSession. Para ello, pega la clave de API que copiaste de un paso anterior sobre el texto, your-api-key (deja las comillas), como mostrado:

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

Configura el SDK de ARCore

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

Con esto, se genera un archivo .xcworkspace que usarás más adelante para compilar y ejecutar la .

Cómo compilar y ejecutar la app de muestra

  1. En Xcode, selecciona el archivo del lugar de trabajo GeospatialExample y haz clic en Firma y Funciones

  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 GeospatialExample desde el archivo .xcworkspace iníciala 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 tener una vista de cámara, junto con la información de depuración que describa la transformación geoespacial actual de tu dispositivo. Mientras analizas el entorno los valores de confianza en la precisión del posicionamiento pueden cambiar si te encuentras en un área admitida por la localización de VPS.

Cuando ARCore tenga confianza en la ubicación y el rumbo de tu dispositivo, puedes colocar un ancla en tu ubicación actual con la transformación geoespacial.

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

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

Para ajustar los umbrales, haz lo siguiente:

  1. En Xcode, abre el archivo ViewController.m y navega a lo 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 mayor sea el valor, menor será la precisión.

    Disminuir la precisión permite que la app tenga una mayor latitud para colocar un ancla. Consulta Realiza ajustes para mejorar la exactitud de las transformaciones para obtener más información.

Próximos pasos

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