Kurzanleitung für Cloud Anchors in iOS

Die ARCore Cloud Anchor API oder der ARCore Cloud Anchor-Dienst bietet Cloud Anchor-Funktionen für iOS-Apps, mit denen Nutzer mit iOS- und Android-Geräten AR-Erlebnisse teilen können.

In diesem Leitfaden erfahren Sie, wie Sie

  • Entwicklungsumgebung für die Arbeit mit Cloud Anchors einrichten
  • Anker in einer Beispiel-App hosten und auflösen

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)

Cloud Anchors verwenden

In den folgenden Schritten wird die Beispiel-App „Cloud Anchors“ verwendet, um Ihnen die wichtigsten Aufgaben zum Konfigurieren und Erstellen einer App zu zeigen, die ARCore Cloud Anchors unterstützt.

Cloud Anchors-Beispiel-App abrufen

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

    Der Anwendungscode für nichtflüchtige Cloud-Anchors befindet sich in
    /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample.

Sitzungseinrichtung

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

Freigabe von Cloud-Anchor-IDs einrichten

Die Cloud Anchor-Beispiel-App verwendet Firebase, um Cloud Anchor-IDs zwischen Geräten zu teilen. Sie können in Ihren Apps eine andere Lösung verwenden.

So richten Sie eine 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 restriktivere Sicherheitsregeln verwenden.
  4. Fügen Sie Ihrer Anwendung in Xcode die Datei GoogleService-Info.plist neben Info.plist hinzu.

ARCore API einrichten

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

Pod-Update ausführen

Die CloudAnchorExample App wird mit einem Podfile ausgeliefert, das mit dem ARCore SDK und den erforderlichen iOS-Versionen vorkonfiguriert ist. So installieren Sie diese Abhängigkeiten:

  1. Öffnen Sie ein Terminalfenster und führen Sie pod update in dem Ordner aus, in dem sich das Xcode-Projekt befindet.
    Dadurch wird eine .xcworkspace-Datei generiert, die Sie später zum Erstellen und Ausführen der Anwendung verwenden.

Weitere Informationen zur Konfiguration von Podfile in deinen eigenen Apps findest du unter ARCore SDK zur App hinzufügen.

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

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

App Bundle-ID ändern

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

Anwendung erstellen und ausführen

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

  2. (Optional) Wenn Sie die Beispielanwendung erstellen und ausführen, finden Sie im folgenden Abschnitt Informationen zur Verwendung der Anwendung zum Hosten und Auflösen von Cloud-Ankern.

Beispiel-App ausprobieren

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

  2. Wenn Sie dazu aufgefordert werden, gewähren Sie der App Kameraberechtigungen. ARKit beginnt dann, Flugzeuge vor der Kamera zu erkennen.

  3. Tippen Sie auf HOST, um den Hostingmodus zu aktivieren. Ein Raumcode für die Freigabe gehosteter Anker wird 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 im Flugzeug und befestigt einen Anker daran.
    • Eine Hostanfrage wird an den ARCore API-Cloud-Endpunkt gesendet. Die Hostanfrage enthält Daten, die die Position des Ankers im Verhältnis zu den visuellen Elementen in der Nähe darstellen.
    • Sobald der Anker gehostet wird, erhält er eine ID, die zum Auflösen der Cloud-Anker in diesem Bereich 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 ARCore API-Cloud-Endpunkt gesendet.
    • Die Anfrage zur Auflösung 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.
    • Die Beispiel-App verwendet die Transformation, um den Anker in Ihre Szene aufzunehmen und damit verbundene virtuelle Objekte zu rendern.

Apps das ARCore SDK hinzufügen

In deinen eigenen Apps musst du das Podfile aktualisieren, um das ARCore SDK und die unterstützte iOS-Versionsverwaltung zu nutzen. 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.41.0'
    
  1. Öffnen Sie ein Terminalfenster und führen Sie pod update in dem Ordner aus, in dem sich Ihr Xcode-Projekt befindet.
    Dadurch wird eine .xcworkspace-Datei generiert, mit der Sie die Anwendung erstellen und ausführen.

Persistente Cloud-Anker

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

Nächste Schritte