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
Klonen Sie das ARCore SDK for iOS von GitHub oder laden Sie es herunter, um den Beispielcode der App zu erhalten.
Öffnen Sie ein Terminal- oder Finder-Fenster und gehen Sie zu dem Ordner, in den Sie das SDK geklont oder heruntergeladen haben.
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:
GARSession
erstellenARSession
erstellen und ausführen- Ein
ARSessionDelegate
festlegen. - Übergeben von
ARFrame
s anGARSession
in der Methodesession:didUpdateFrame:
.
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:
- 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 restriktivere Sicherheitsregeln verwenden.
- Fügen Sie Ihrer Anwendung in Xcode die Datei
GoogleService-Info.plist
nebenInfo.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:
- Ö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.
Ö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
Verbinden Sie Ihr Gerät und starten Sie die App in Xcode.
(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
Erstellen Sie die Beispiel-App aus der Datei
.xcworkspace
und führen Sie sie aus, um sie auf Ihrem Gerät zu starten.Wenn Sie dazu aufgefordert werden, gewähren Sie der App Kameraberechtigungen. ARKit beginnt dann, Flugzeuge vor der Kamera zu erkennen.
Tippen Sie auf HOST, um den Hostingmodus zu aktivieren. Ein Raumcode für die Freigabe gehosteter Anker wird 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 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.
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:
Fügen Sie der Datei
Podfile
Ihres Projekts die folgendenplatform
undpod
hinzu:platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.44.0'
- Ö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
Im Cloud Anchors-Entwicklerleitfaden für iOS können Sie sich den Beispielcode der App ansehen und mehr über die Arbeit mit Cloud Anchors in Ihren eigenen Apps erfahren.
Weitere Informationen finden Sie in der ARCore iOS API-Referenz.