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
Klonen Sie das ARCore SDK for iOS aus GitHub oder laden Sie es herunter, um den Code der Beispiel-App zu erhalten.
Öffnen Sie ein Terminal- oder Finderfenster und wechseln Sie zum Ordner, in dem Sie das SDK geklont oder heruntergeladen haben.
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:
GARSession
erstellenARSession
erstellen und ausführen- Legen Sie einen
ARSessionDelegate
fest. ARFrame
s in der Methodesession:didUpdateFrame:
an dieGARSession
übergeben.
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:
- Folgen Sie der Firebase-Anleitung zum Hinzufügen von Firebase zu Ihrer App.
- Laden Sie die Datei
GoogleService-Info.plist
herunter, die beim Hinzufügen von Firebase zu Ihrer App generiert wurde. - 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.
- Fügen Sie in Xcode Ihrer App die Datei
GoogleService-Info.plist
nebenInfo.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:
- Ö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
Ö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
Verbinden Sie Ihr Gerät und starten Sie die App in Xcode.
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
Erstellen und führen Sie die Beispiel-App aus der Datei
.xcworkspace
aus, um sie auf Ihrem Gerät zu starten.Gewähren Sie der App bei Aufforderung die Kameraberechtigungen. ARKit beginnt dann, Ebenen vor Ihrer Kamera zu erkennen.
Tippen Sie auf HOST, um den Hostingmodus aufzurufen. Es wird ein Raumcode zum Teilen gehosteter Markierungen generiert und auf dem Bildschirm angezeigt.
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.
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:
Fügen Sie der Datei
Podfile
Ihres Projekts die folgendenplatform
undpod
hinzu:platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.48.0'
- Ö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
Im Entwicklerleitfaden für Cloud Anchors für iOS finden Sie den Beispiel-App-Code und weitere Informationen zur Verwendung von Cloud Anchors in Ihren eigenen Apps.
Weitere Informationen finden Sie in der ARCore iOS API-Referenz.