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 einer eigenen App mit der Geospatial API finden Sie im Geospatial Developer Guide für iOS.

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

Wenn Sie noch keine Erfahrung mit der Entwicklung mit ARCore haben, lesen Sie den Hilfeartikel Erste Schritte.

Vorbereitung

  • Xcode Version 13.0 oder höher
  • CocoaPods 1.4.0 oder höher, wenn Sie CocoaPods verwenden
  • Ein ARKit-kompatibles Apple-Gerät mit iOS 12.0 oder höher (Bereitstellungsziel muss iOS 12.0 oder höher sein)

Beispielanwendung einrichten

Im Projekt GeospatialExample, das im ARCore SDK for iOS enthalten ist, wird Code beschrieben, der die Geospatial API aufruft.

  1. Klonen Sie das ARCore SDK for iOS aus GitHub oder laden Sie es herunter, um den Code der Beispiel-App zu erhalten.

  2. Öffnen Sie ein Terminal- oder Finderfenster und wechseln Sie zum Ordner, in dem Sie das SDK geklont oder heruntergeladen haben.

  3. Rufen Sie den Ordner arcore-ios-sdk-master/Examples auf.

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

Google Cloud-Projekt einrichten

Bevor Sie das visuelle Positionssystem (VPS) in Ihrer App verwenden können, müssen Sie zuerst die ARCore API in einem neuen oder vorhandenen Google Cloud-Projekt aktivieren. Die Geospatial API funktioniert sowohl mit der autorisierten Schlüssellosen Authentifizierung als auch mit der API-Schlüsselauthentifizierung. In dieser Kurzanleitung wird die API-Schlüsselmethode verwendet.

Autorisierung einrichten

Damit die Beispiel-App Geospatial API-Aufrufe an den VPS senden kann, benötigt sie eine Autorisierung 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. Öffnen Sie in XCode in der Beispiel-App GeospatialExample die Datei ViewController.m und suchen Sie nach your-api-key.

  2. Fügen Sie den API-Schlüssel zu GARSession hinzu: Fügen Sie den API-Schlüssel, den Sie in einem vorherigen Schritt kopiert haben, über den Text your-api-key ein (lassen Sie die Anführungszeichen stehen), wie hier gezeigt:

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

ARCore SDK einrichten

Die App GeospatialExample wird mit einer Podfile geliefert, die mit den erforderlichen ARCore SDK- und iOS-Versionen vorkonfiguriert ist. Um diese Abhängigkeiten zu installieren, öffnen Sie ein Terminalfenster und führen Sie pod install aus dem Ordner aus, in dem sich das Xcode-Projekt befindet.

Dadurch wird eine .xcworkspace-Datei generiert, mit der Sie die App später erstellen und ausführen können.

Beispiel-App erstellen und ausführen

  1. Wählen Sie in Xcode die Arbeitsbereichsdatei GeospatialExample aus und klicken Sie auf Signatur und Funktionen.

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

  3. Geben Sie im Feld Team einen Teamnamen ein.

    Sie können die Standard-Bundle-ID verwenden, um die App über Xcode auszuführen. Sie müssen sie jedoch ändern, wenn Sie das GeospatialExample als Stub für Ihre eigene App in der Produktion verwenden.

  4. Verbinden Sie Ihr Gerät, um die Beispielanwendung auszuführen.

  5. Erstellen Sie die Anwendung GeospatialExample aus der Datei .xcworkspace und führen Sie sie auf Ihrem Gerät aus.

    Achten Sie darauf, dass Sie die Datei .xcworkspace und nicht die Datei .xcodeproj zum Erstellen verwenden, um Buildfehler zu vermeiden.

Sie sollten eine Kameraansicht sowie Debug-Informationen zur aktuellen geospatialen Transformation Ihres Geräts sehen. Wenn Sie sich umsehen, können sich die Konfidenzwerte für die Positionierungsgenauigkeit ändern, wenn Sie sich in einem Gebiet befinden, das von der VPS-Lokalisierung unterstützt wird.

Wenn ARCore den Standort und die Ausrichtung Ihres Geräts mit hoher Wahrscheinlichkeit kennt, können Sie mithilfe der geografische Transformation einen Anker an Ihrem aktuellen Standort platzieren.

Die Positionierungsgenauigkeit ist möglicherweise zu gering, wenn keine VPS-Informationen verfügbar sind. Die App muss mit dem Internet verbunden sein und der Standort muss dem VPS bekannt sein. Die besten Ergebnisse erzielen Sie, wenn Sie die Beispiel-App bei Tageslicht draußen ausführen.

Wenn Sie sich in einer Region befinden, in der VPS nicht unterstützt wird, oder die GPS-Signale nicht ausreichend sind, müssen Sie möglicherweise die Konfidenzgrenzwerte in der App anpassen, um einen Anker zu setzen.

So passen Sie die Schwellenwerte an:

  1. Öffnen Sie in Xcode die Datei ViewController.m und gehen 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 niedriger ist die Genauigkeit.

    Wenn Sie die Genauigkeit verringern, hat die App mehr Spielraum beim Platzieren eines Ankers. Weitere Informationen finden Sie unter An Genauigkeit der Transformation anpassen.

Nächste Schritte

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