Kurzanleitung für Cloud Anchors in iOS

Die ARCore Cloud Anchor API oder der ARCore Cloud Anchor-Dienst bietet Cloud-Anchor-Funktionen für Ihre iOS-Apps, sodass Nutzer sowohl auf iOS- als auch auf Android-Geräten AR-Inhalte teilen können.

In diesem Leitfaden erfahren Sie, wie Sie:

  • Entwicklungsumgebung für die Verwendung mit Cloud-Anchors einrichten
  • Ankern und Auflösen in einer Beispiel-App ausprobieren

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)

Cloud-Markierungen verwenden

In den folgenden Schritten wird anhand der Beispiel-App „Cloud Anchors“ gezeigt, wie Sie eine App konfigurieren und erstellen, die ARCore Cloud Anchors unterstützt.

Beispielanwendung für Cloud Anchors abrufen

  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. Den Code der Beispiel-App finden Sie unter
    /arcore-ios-sdk-master/Examples/CloudAnchorExample.

    Der Code der Beispiel-App für persistente Cloud-Markierungen befindet sich in
    /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample.

Sitzungseinrichtung

Die Beispiel-App führt im Rahmen der Sitzungseinrichtung die folgenden wichtigen Aufgaben aus:

Freigabe von Cloud Anchor-IDs einrichten

In der Beispiel-App für Cloud Anchors wird Firebase verwendet, um Cloud Anchor-IDs zwischen Geräten zu teilen. In Ihren eigenen Apps können Sie eine andere Lösung verwenden.

So richten Sie die Firebase-Datenbank in der Beispiel-App ein:

  1. Folgen Sie der Firebase-Anleitung zum Hinzufügen von Firebase zu Ihrer App.
  2. Laden Sie die Datei GoogleService-Info.plist herunter, die beim Hinzufügen von Firebase zu Ihrer App generiert wurde.
  3. Aktivieren Sie Firebase Storage für das Beispiel:
    • Rufen Sie die Firebase Console auf und wählen Sie das Projekt aus, das Sie für die Beispiel-App eingerichtet haben.
    • Wählen Sie das Steuerfeld Database aus.
    • Klicken Sie bei der Option Realtime Database auf Get Started.
    • Das Menü Security rules for Realtime Database wird geöffnet.
      • Wählen Sie zum Ausführen des Beispiels Start in test mode aus.
      • Wenn Sie Firebase für eine App verwenden, die Sie veröffentlichen möchten, sollten Sie strengere Sicherheitsregeln verwenden.
  4. Fügen Sie in Xcode Ihrer App die Datei GoogleService-Info.plist neben Info.plist hinzu.

ARCore API einrichten

Wenn Sie Cloud-Anker verwenden möchten, müssen Sie zuerst die ARCore API für Ihre Anwendung einrichten.

Pod-Update ausführen

Die App CloudAnchorExample wird mit einer Podfile geliefert, die mit den erforderlichen ARCore SDK- und iOS-Versionen vorkonfiguriert ist. So installierst du diese Abhängigkeiten:

  1. Öffnen Sie ein Terminalfenster und führen Sie pod update 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.

Weitere Informationen zum Hinzufügen des ARCore SDK zu Ihrer AppPodfile

  1. Öffnen Sie die .xcworkspace-Datei für das Projekt in Xcode.

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

App-Bundle-ID ändern

Ändern Sie in Xcode die Bundle-ID der App, damit Sie die App mit Ihrem Team signieren können.

App erstellen und ausführen

  1. Verbinden Sie Ihr Gerät und starten Sie die App in Xcode.

  2. Optional: Wenn Sie die Beispiel-App erstellen und ausführen, finden Sie im folgenden Abschnitt Informationen dazu, wie Sie mit der App Cloud-Markierungen hosten und auflösen.

Beispiel-App ausprobieren

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

  2. Gewähren Sie der App bei Aufforderung die Kameraberechtigungen. ARKit beginnt dann, Ebenen vor Ihrer Kamera zu erkennen.

  3. Tippen Sie auf HOST, um den Hostingmodus aufzurufen. Es wird ein Raumcode zum Teilen gehosteter Markierungen generiert und auf dem Bildschirm angezeigt.

  4. Tippen Sie auf ein Flugzeug, um dort einen Cloud-Anchor zu hosten.

    • Die App platziert ein Andy Android-Objekt auf der Ebene und fügt einen Anker hinzu.
    • Eine Hostanfrage wird an den Cloud-Endpunkt der ARCore API gesendet. Die Hostanfrage enthält Daten, die die Position des Ankers relativ zu den visuellen Elementen in seiner Nähe darstellen.
    • Sobald der Anker gehostet wurde, erhält er eine ID, die zum Auflösen von Cloud-Ankern in diesem Gruppenbereich verwendet wird.
  5. Tippen Sie auf RESOLVE und geben Sie einen Raumcode ein, um mit demselben oder einem anderen Gerät auf zuvor gehostete Cloud-Anchors für diesen Raum zuzugreifen.

    • Eine Auflösungsanfrage wird an den Cloud-Endpunkt der ARCore API gesendet.
    • Die Auflösungsanfrage enthält eine Cloud-Anchor-ID. Wenn die ID mit einem gehosteten Anker übereinstimmt und die Lokalisierung erfolgreich ist, gibt der Server die Transformation des Ankers in Ihren lokalen Koordinaten zurück.
    • In der Beispielanwendung wird die Transformation verwendet, um der Szene den Anker hinzuzufügen und daran befestigte virtuelle Objekte zu rendern.

ARCore SDK zu Ihren Apps hinzufügen

In Ihren eigenen Apps müssen Sie Podfile aktualisieren, um das ARCore SDK und die unterstützte iOS-Version einzubinden. Das geht so:

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

        platform :ios, '11.0'
        pod 'ARCore/CloudAnchors', '~> 1.48.0'
    
  1. Öffnen Sie ein Terminalfenster und führen Sie pod update 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.

Persistente Cloud-Markierungen

Wie unter Cloud-Anchor mit Persistenz hosten beschrieben, können Sie dem Cloud-Anchor eine Gültigkeitsdauer von bis zu 365 Tagen zuweisen. Beispielcode zur Verwendung persistenter Cloud-Anker ist im Verzeichnis /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample im ARCore SDK for iOS auf GitHub verfügbar.

Nächste Schritte