Geospatial API für Ihre iOS-App aktivieren

Konfigurieren Sie die Einstellungen Ihrer App so, dass sie die Geospatial API verwenden kann.

Voraussetzungen

Machen Sie sich mit den grundlegenden AR-Konzepten und der Konfiguration einer ARCore-Sitzung vertraut, bevor Sie fortfahren.

Eine Beispiel-App, in der die hier beschriebenen Funktionen demonstriert werden, finden Sie im ARCore Geospatial Quickstart für iOS.

Weitere Informationen finden Sie in der Einführung in die Geospatial API.

Wenn Sie noch keine Erfahrung mit der Entwicklung mit ARCore haben, finden Sie unter Erste Schritte Informationen zu Software- und Hardwareanforderungen, Voraussetzungen und anderen Informationen, die speziell auf die von Ihnen verwendeten Plattformen bezogen sind.

ARCore API aktivieren

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. Dieser Dienst ist für das Hosten, Speichern und Auflösen geografischer Anker verantwortlich.

Die schlüssellose Autorisierung wird bevorzugt, aber auch die Autorisierung per API-Schlüssel wird unterstützt.

Erforderliche Bibliotheken zur App hinzufügen

Nachdem Sie Ihre App zum Aufrufen der ARCore API autorisiert haben, müssen Sie Bibliotheken hinzufügen, um geografische Funktionen in Ihrer App zu aktivieren.

Aktualisieren Sie die Podfile für Ihre App, um das ARCore SDK und die unterstützte iOS-Version anzugeben. Das geht so:

  1. Fügen Sie der Datei Podfile Ihres Projekts die folgenden platform und pod hinzu:

    platform :ios, '11.0'
    pod 'ARCore/Geospatial', '~> 1.46.0'
    

    Sie können auch platform :ios, '10.0' angeben, wenn Sie iOS 10 unterstützen möchten. Die Geospatial API funktioniert dann aber nur bei der Laufzeit auf iOS 11 und höher.

  2. Öffnen Sie ein Terminalfenster und führen Sie pod install aus dem Ordner aus, in dem sich Ihr Xcode-Projekt befindet.

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

Ihre Entwicklungsumgebung muss die im Schnellstart beschriebenen ARCore SDK-Anforderungen erfüllen.

Geospatial-Funktionen in der Sitzungskonfiguration aktivieren

Gerätekompatibilität prüfen

Nicht alle Geräte, die ARCore unterstützen, unterstützen auch die Geospatial API, wie im Schnellstart beschrieben.

Verwenden Sie GARSession.isGeospatialModeSupported:, um das Gerät zu prüfen, wie hier gezeigt:

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;
}

Nutzer bei Laufzeit um Berechtigungen zur Standortermittlung bitten

Ihre App muss die folgenden Berechtigungen zur Standortermittlung zur Laufzeit anfordern, bevor die Sitzung konfiguriert wird:

Geospatiale Verfügbarkeit am aktuellen Standort des Geräts prüfen

Da die Geospatial API eine Kombination aus VPS und GPS zur Bestimmung einer geospatialen Transformation verwendet, kann die API verwendet werden, solange das Gerät seinen Standort bestimmen kann. In Gebieten mit geringer GPS-Genauigkeit, z. B. in Innenräumen und in dicht bebauten städtischen Gebieten, nutzt die API die VPS-Abdeckung, um hochpräzise Transformationen zu generieren. Unter normalen Bedingungen kann mit VPS eine Positionsgenauigkeit von etwa 5 Metern und eine Drehungsgenauigkeit von 5 Grad erwartet werden. Mit GARSession.checkVPSAvailabilityAtCoordinate:completionHandler: können Sie prüfen, ob ein bestimmter Ort VPS-Abdeckung hat.

Die Geospatial API kann auch in Gebieten verwendet werden, die nicht von VPS abgedeckt sind. In Außenbereichen mit wenigen oder gar keinen Hindernissen über Kopf reicht GPS möglicherweise aus, um eine Transformation mit hoher Genauigkeit zu generieren.

Nächste Schritte