Configura le impostazioni della tua app in modo che possa utilizzare l'API Geospaziale.
Prerequisiti
Assicurati di aver compreso i concetti fondamentali di AR e di configurare una sessione ARCore prima di procedere.
Se vuoi eseguire un'app di esempio che dimostri la funzionalità descritta qui, consulta la guida rapida di ARCore Geospatial per iOS.
Consulta l'introduzione all'API Geospatial per ulteriori informazioni sull'API Geospatial.
Se è la prima volta che utilizzi ARCore, consulta la Guida introduttiva per informazioni su requisiti software e hardware, prerequisiti e altre informazioni specifiche per le piattaforme in uso.
Abilita l'API ARCore
Prima di utilizzare il sistema di posizionamento visivo (VPS) nell'app, devi abilitare l'API ARCore in un progetto Google Cloud nuovo o esistente. Questo servizio è responsabile dell'hosting, dell'archiviazione e della risoluzione degli ancoraggi geospaziali.
È preferibile l'autorizzazione senza chiave, ma è supportata anche l'autorizzazione tramite chiave API.
Aggiungi le librerie richieste alla tua app
Dopo aver autorizzato l'app a chiamare l'API ARCore, devi aggiungere librerie per abilitare le funzionalità geospaziali nell'app.
Aggiorna l'Podfile
della tua app in modo che includa l'SDK ARCore e il controllo delle versioni di iOS supportato. Per farlo:
Aggiungi
platform
epod
seguenti alPodfile
del progetto:platform :ios, '11.0' pod 'ARCore/Geospatial', '~> 1.41.0'
Puoi anche specificare
platform :ios, '10.0'
, se vuoi supportare iOS 10, ma tieni presente che l'API Geospatial funzionerà solo in fase di runtime su iOS >= 11.Apri una finestra Terminale ed esegui
pod install
dalla cartella in cui si trova il tuo progetto Xcode.Questo genera un file
.xcworkspace
che utilizzi per creare ed eseguire l'app.
Assicurati che il tuo ambiente di sviluppo soddisfi i requisiti dell'SDK ARCore, come descritto nella guida rapida.
Attiva le funzionalità geospaziali nella configurazione della sessione
Verificare la compatibilità del dispositivo
Non tutti i dispositivi che supportano ARCore supportano anche l'API Geospatial, come descritto nella quickstart.
Utilizza GARSession.isGeospatialModeSupported:
per controllare il dispositivo, come indicato di seguito:
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;
}
Chiedi all'utente le autorizzazioni di accesso alla posizione in fase di runtime
Prima di configurare la sessione, l'app deve richiedere le seguenti autorizzazioni di accesso alla posizione in fase di runtime:
kCLAuthorizationStatusAuthorizedWhenInUse
CLAccuracyAuthorizationFullAccuracy
(si applica se iOS >= 14)
Controlla la disponibilità dei dati geospaziali nella posizione attuale del dispositivo
Poiché l'API Geospatial utilizza una combinazione di VPS e GPS per determinare una trasformazione geospaziale, può essere utilizzata purché il dispositivo sia in grado di determinarne la posizione. Nelle aree con precisione GPS bassa, come gli spazi interni e gli ambienti urbani ad alta densità, l'API si affiderà alla copertura VPS per generare trasformazioni ad alta precisione. In condizioni tipiche, il VPS dovrebbe fornire una precisione di posizione di circa 5 metri e una precisione di rotazione di 5 gradi. Utilizza GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
per stabilire se una determinata località ha una copertura VPS.
L'API Geospatial può essere utilizzata anche in aree che non dispongono di copertura VPS. In ambienti esterni con poche ostruzioni o nessuna ostruzione, il GPS può essere sufficiente per generare una trasformazione con precisione elevata.
Passaggi successivi
- Ottieni la trasformazione geospaziale della videocamera del dispositivo per determinare la posizione esatta del dispositivo dell'utente nel mondo reale.
- Verifica la disponibilità di VPS nella località in cui si trova un dispositivo.