Guida rapida Geospaziale per iOS

Questa guida rapida per l'API ARCore Geospatial mostra come eseguire un'app di esempio in Xcode che dimostri l'API Geospatial.

Per una guida allo sviluppo di una tua app con l'API Geospatial, consulta la Guida per gli sviluppatori geospaziali per iOS.

Consulta l'introduzione all'API ARCore Geospatial per ulteriori informazioni sull'API Geospatial.

Se è la prima volta che sviluppi con ARCore, consulta la Guida introduttiva.

Prerequisiti

  • Xcode 13.0 o versioni successive
  • Cocoapods 1.4.0 o versioni successive se utilizzi Cocoapods
  • Un dispositivo Apple compatibile con ARKit con iOS 12.0 o versioni successive (target di deployment per iOS 12.0 o versioni successive)

Configura l'app di esempio

Il progetto GeospatialExample incluso nell'SDK ARCore per iOS descrive il codice che chiama l'API Geospatial.

  1. Clona o scarica l'SDK ARCore per iOS da GitHub per ottenere il codice dell'app di esempio.

  2. Apri una finestra del terminale o del Finder e vai alla cartella in cui hai clonato o scaricato l'SDK.

  3. Vai alla cartella arcore-ios-sdk-master/Examples.

  4. Apri la cartella Esempi, seleziona la cartella GeospatialExample e fai clic su Apri.

Configura un progetto Google Cloud

Per utilizzare il sistema di posizionamento visivo (VPS), la tua app deve essere associata a un progetto Google Cloud abilitato per l'API ARCore.

Devi abilitare l'API ARCore nel tuo progetto Google Cloud. Se devi creare il progetto:

  1. Visita la pagina Creare un progetto nella piattaforma Google Cloud.

  2. Inserisci un Nome progetto appropriato e scegli una località per il progetto.

  3. Fai clic su Crea.

  4. Nella barra laterale, seleziona API e servizi, quindi Libreria.

  5. Cerca l'API ARCore, selezionala e fai clic su Abilita.

configura le autorizzazioni

Per effettuare chiamate API geospaziali al VPS, l'app di esempio richiede l'autorizzazione e può utilizzare una chiave API senza restrizioni. Se utilizzi una chiave API limitata, devi anche fornire un ID bundle da associare alla chiave API.

  1. Nel tuo progetto Google Cloud, ottieni una chiave API come descritto in Creazione di una chiave API.

  2. Copia la chiave API così come la incolli in un passaggio successivo.

  3. In Xcode, nell'app di esempio GeospatialExample, apri il file ViewController.m e cerca your-api-key.

  4. Aggiungi la tua chiave API a GARSession: incolla la chiave API copiata da un passaggio precedente nel testo your-api-key (lascia le virgolette), come mostrato di seguito.

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

Configurare l'SDK ARCore

L'app GeospatialExample viene fornita con un elemento Podfile preconfigurato con l'SDK ARCore e le versioni iOS di cui hai bisogno. Per installare queste dipendenze, apri una finestra Terminale ed esegui pod install dalla cartella in cui esiste il progetto Xcode.

Questo genera un file .xcworkspace che userai in seguito per creare ed eseguire l'app.

Crea ed esegui l'app di esempio

  1. In Xcode, seleziona il file dell'area di lavoro GeospatialExample e fai clic su Signing & Capabilities.

  2. Seleziona la casella Gestisci automaticamente la firma.

  3. Nel campo Team, inserisci un nome per il team.

    Puoi utilizzare l'identificatore bundle predefinito per eseguire l'app da Xcode, ma devi modificarlo se utilizzi GeospatialExample come stub per la tua app in produzione.

  4. Collega il dispositivo per eseguire l'app di esempio.

  5. Crea ed esegui l'app GeospatialExample dal file .xcworkspace per avviarla sul tuo dispositivo.

    Per evitare errori di build, assicurati di creare il file .xcworkspace e non il file .xcodeproj.

Dovresti riuscire a vedere una visualizzazione della videocamera, insieme alle informazioni di debug che descrivono l'attuale trasformazione geospaziale del tuo dispositivo. Mentre esplori l'ambiente circostante, noti che i valori di affidabilità della precisione del posizionamento possono cambiare mentre ti sposti, se ti trovi in un'area supportata dalla localizzazione VPS.

Quando ARCore conosce la posizione e l'orientamento del dispositivo, puoi posizionare un ancoraggio nella tua posizione corrente utilizzando la trasformazione geospaziale.

La precisione del posizionamento potrebbe essere troppo bassa se non sono disponibili informazioni VPS. L'app deve essere connessa a internet e la posizione deve essere nota al VPS. Per risultati ottimali, esegui l'app di esempio all'esterno (non in ambienti interni) durante le ore diurne.

Inoltre, se ti trovi in un'area che non supporta VPS o se i segnali GPS non sono sufficienti, potresti dover regolare le soglie di confidenza nell'app per posizionare un ancoraggio.

Per regolare le soglie:

  1. In Xcode, apri il file ViewController.m e vai alla sezione seguente:

    // 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. Modifica questi valori in base alle tue esigenze. Più alto è il valore, minore è la precisione.

    La riduzione della precisione consente all'app di avere una latitudine maggiore nel posizionamento dell'ancoraggio. Per ulteriori informazioni, consulta Regolare l'accuratezza della trasformazione.

Passaggi successivi

Consulta la guida per gli sviluppatori geospaziali per iOS e inizia a creare con l'API Geospatial.