Guida rapida Geospaziale per iOS

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

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

Per ulteriori informazioni sull'API Geospatial, consulta la Introduzione all'API ARCore Geospatial.

Se non hai mai sviluppato con ARCore, consulta la guida introduttiva.

Prerequisiti

  • Xcode versione 13.0 o successive
  • Cocoapods 1.4.0 o versioni successive se utilizzi Cocoapods
  • Un dispositivo Apple compatibile con ARKit con iOS 12.0 o versioni successive (è necessario un target di deployment di 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 Examples (Esempi), seleziona la cartella GeospatialExample (Esempio geografico) e fai clic su Apri.

Configura un progetto Google Cloud

Prima di utilizzare il sistema di posizionamento visivo (VPS) nella tua app, devi prima attivare l'API ARCore in un progetto Google Cloud nuovo o esistente. Sebbene l'API Geospatial funzioni sia con l'autorizzazione senza chiave sia con la chiave API, per questa guida rapida utilizza il metodo Chiave API.

Configura l'autorizzazione

Per effettuare chiamate all'API geospaziale al VPS, l'app di esempio ha bisogno dell'autorizzazione e può utilizzare una chiave API senza restrizioni. Se utilizzi una chiave API con limitazioni, devi anche fornire un ID pacchetto da associare alla chiave API.

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

  2. Aggiungi la chiave API a GARSession: incolla la chiave API che hai copiato da un passaggio precedente sopra il testo la tua chiave API (lascia le virgolette), come показано показано:

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

Configurare l'SDK ARCore

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

Viene generato un file .xcworkspace che utilizzerai in seguito per compilare 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 Firma e funzionalità.

  2. Seleziona la casella Gestisci automaticamente la firma.

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

    Puoi utilizzare l'identificatore pacchetto 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 compilazione, assicurati di eseguire la compilazione dal file .xcworkspace e non dal file .xcodeproj.

Dovresti riuscire a vedere una visuale della fotocamera, insieme alle informazioni di debug che descrivono la trasformazione geospaziale corrente del tuo dispositivo. Mentre esegui la scansione dell'ambiente intorno a te, tieni presente che i valori di confidenza della precisione del posizionamento possono cambiare mentre ti muovi, se ti trovi in un'area supportata dalla localizzazione VPS.

Quando ARCore è sicuro della posizione e della direzione del dispositivo, puoi posizionare un ancoraggio nella tua posizione attuale utilizzando la trasformazione geospaziale.

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

Inoltre, se ti trovi in un'area che non supporta il VPS o se i segnali GPS non sono sufficienti, potresti dover modificare le soglie di attendibilità nell'app per inserire un'ancora.

Per regolare le soglie:

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

    // 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, più bassa è la precisione.

    La riduzione della precisione consente all'app una maggiore libertà nel posizionare un'ancora. Per ulteriori informazioni, consulta Aggiustare per l'accuratezza della trasformazione.

Passaggi successivi

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