Geospatial-Kurzanleitung für iOS

In dieser Kurzanleitung für die ARCore Geospatial API erfahren Sie, wie Sie eine Beispielanwendung in Xcode ausführen, die die Geospatial API veranschaulicht.

Eine Anleitung zum Entwickeln Ihrer eigenen Anwendung mit der Geospatial API finden Sie im Geospatial-Entwicklerleitfaden für iOS.

Weitere Informationen zur Geospatial API finden Sie unter Einführung in die ARCore Geospatial API.

Wenn Sie zum ersten Mal mit ARCore arbeiten, lesen Sie den Artikel Erste Schritte.

Voraussetzungen

  • Xcode Version 13.0 oder höher
  • CocoaPods 1.4.0 oder höher, wenn CocoaPods verwendet werden
  • Ein ARKit-kompatibles Apple-Gerät mit iOS 12.0 oder höher (Bereitstellungsziel iOS 12.0 oder höher erforderlich)

Beispielanwendung einrichten

Das im ARCore SDK for iOS enthaltene Projekt GeospatialExample enthält Code, mit dem die Geospatial API aufgerufen wird.

  1. Klonen Sie das ARCore SDK for iOS von GitHub oder laden Sie es herunter, um den Beispielcode der App zu erhalten.

  2. Öffnen Sie ein Terminal- oder Finder-Fenster und gehen Sie zu dem Ordner, in den Sie das SDK geklont oder heruntergeladen haben.

  3. Gehen Sie zum Ordner arcore-ios-sdk-master/Examples.

  4. Öffnen Sie den Ordner Beispiele, wählen Sie den Ordner GeospatialExample aus und klicken Sie auf Open (Öffnen).

Google Cloud-Projekt einrichten

Damit Sie das Visual Positioning System (VPS) verwenden können, muss Ihre App mit einem Google Cloud-Projekt verknüpft sein, das für die ARCore API aktiviert ist.

Sie müssen in Ihrem Google Cloud-Projekt die ARCore API aktivieren. Wenn Sie das Projekt erstellen müssen, gehen Sie so vor:

  1. Weitere Informationen finden Sie unter Projekt in Google Cloud Platform erstellen.

  2. Geben Sie unter Projektname einen geeigneten Projektnamen ein und wählen Sie einen Speicherort aus.

  3. Klicken Sie auf Erstellen.

  4. Wählen Sie in der Seitenleiste APIs und Dienste und dann Bibliothek aus.

  5. Suchen Sie nach der ARCore API, wählen Sie sie aus und klicken Sie auf Aktivieren.

Autorisierung einrichten

Für Geospatial API-Aufrufe an den VPS muss die Beispielanwendung autorisiert werden und kann einen uneingeschränkten API-Schlüssel verwenden. Wenn Sie einen eingeschränkten API-Schlüssel verwenden, müssen Sie auch eine Bundle-ID angeben, die mit dem API-Schlüssel verknüpft werden soll.

  1. Rufen Sie in Ihrem Google Cloud-Projekt einen API-Schlüssel ab, wie unter API-Schlüssel erstellen beschrieben.

  2. Kopieren Sie den API-Schlüssel, da Sie ihn in einem späteren Schritt einfügen werden.

  3. Öffnen Sie in Xcode in der Beispiel-App GeospatialExample die Datei ViewController.m und suchen Sie nach your-api-key.

  4. Fügen Sie Ihren API-Schlüssel in GARSession ein: Fügen Sie den API-Schlüssel, den Sie bei einem vorherigen Schritt in einem vorherigen Schritt kopiert haben, über den Text your-api-key (Anführungszeichen) ein, wie unten gezeigt.

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

ARCore SDK einrichten

Die GeospatialExample App wird mit einer Podfile ausgeliefert, die mit dem ARCore SDK und den erforderlichen iOS-Versionen vorkonfiguriert ist. Öffnen Sie zum Installieren dieser Abhängigkeiten ein Terminal-Fenster und führen Sie pod install in dem Ordner aus, in dem sich das Xcode-Projekt befindet.

Dadurch wird eine .xcworkspace-Datei erstellt, die Sie später zum Erstellen und Ausführen der Anwendung verwenden.

Beispielanwendung erstellen und ausführen

  1. Wählen Sie in Xcode die Arbeitsbereichsdatei GeospatialExample aus und klicken Sie auf Signing & Capabilities.

  2. Klicken Sie auf das Kästchen Signatur automatisch verwalten.

  3. Geben Sie im Feld Team einen Namen für das Team ein.

    Sie können den standardmäßigen Bundle Identifier verwenden, um die Anwendung über Xcode auszuführen. Sie müssen ihn jedoch ändern, wenn Sie das GeospatialExample als Stub für Ihre eigene Anwendung in der Produktion verwenden.

  4. Stelle eine Verbindung zu deinem Gerät her, um die Beispiel-App auszuführen.

  5. Erstellen Sie die App GeospatialExample aus der Datei .xcworkspace und führen Sie sie aus, um sie auf Ihrem Gerät zu starten.

    Damit Build-Fehler vermieden werden, solltest du für die Erstellung die Datei .xcworkspace und nicht die Datei .xcodeproj verwenden.

Sie sollten eine Kameraansicht sowie Debug-Informationen sehen können, die die aktuelle raumbezogene Transformation Ihres Geräts beschreiben. Wenn Sie Ihre Umgebung scannen, können sich die Konfidenzwerte für die Positionierungsgenauigkeit ändern, wenn Sie sich bewegen, wenn Sie sich in einem Gebiet befinden, das von der VPS-Lokalisierung unterstützt wird.

Wenn ARCore den Standort und die Richtung deines Geräts ermittelt hat, kannst du mithilfe der Geospatial-Transformation einen Anker an deinem aktuellen Standort platzieren.

Die Positionierungsgenauigkeit ist möglicherweise zu gering, wenn keine VPS-Informationen verfügbar sind. Die Anwendung muss mit dem Internet verbunden und der Standort dem VPS bekannt sein. Die besten Ergebnisse erzielen Sie, wenn Sie die Beispiel-App bei Tageslicht im Freien (nicht in Innenräumen) ausführen.

Wenn Sie sich in einem Gebiet befinden, in dem VPS nicht unterstützt wird, oder wenn die GPS-Signale nicht ausreichen, müssen Sie möglicherweise die Konfidenzgrenzwerte in der App anpassen, um einen Anker zu platzieren.

So passen Sie die Schwellenwerte an:

  1. Öffnen Sie in Xcode die Datei ViewController.m und wechseln Sie zum folgenden Abschnitt:

    // 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. Passen Sie diese Werte nach Bedarf an. Je höher der Wert, desto geringer die Genauigkeit.

    Wenn Sie die Genauigkeit verringern, kann die App beim Platzieren eines Ankers mehr Breitengrad verwenden. Weitere Informationen finden Sie unter Für Transformationen anpassen.

Nächste Schritte

Lesen Sie den Geospatial-Entwicklerleitfaden für iOS und beginnen Sie mit der Entwicklung mit der Geospatial API.