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. Nutzer mit iOS- und Android-Geräten können AR-Erlebnisse miteinander teilen.

In diesem Leitfaden erfahren Sie, wie Sie:

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

Vorbereitung

  • Xcode Version 13.0 oder höher
  • CocoaPods 1.4.0 oder höher bei Verwendung von CocoaPods
  • Ein ARKit-kompatibles Apple-Gerät mit iOS 12.0 oder höher (Bereitstellungsziel für iOS 12.0 oder höher erforderlich)

Cloud-Anchors verwenden

In den folgenden Schritten wird anhand der Cloud Anchors-Beispiel-App Aufgaben zum Konfigurieren und Erstellen einer App, die ARCore Cloud Anchors unterstützt

Cloud Anchors-Beispielanwendung abrufen

  1. Klonen Sie das ARCore SDK für iOS von GitHub oder laden Sie es herunter. um den Beispielcode für die App abzurufen.

  2. Öffnen Sie ein Terminal- oder Finder-Fenster und gehen Sie zum Ordner, in den Sie den Klonen kopiert haben oder das SDK heruntergeladen haben.

  3. Den Beispielcode der App findest du in
    . /arcore-ios-sdk-master/Examples/CloudAnchorExample.

    Der Beispielcode für persistente Cloud-Anchors ist in
    /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample.

Sitzungseinrichtung

Die Beispiel-App führt im Rahmen der Einrichtung des Sitzung:

Freigabe der Cloud-Anchor-ID einrichten

Die Beispiel-App "Cloud Anchors" verwendet Firebase, um Cloud Anchor-IDs zwischen Geräte. Sie können in Ihren eigenen Apps 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 generiert wurde Firebase zu Ihrer App hinzufügen.
  3. Aktivieren Sie Firebase Storage für das Beispiel: <ph type="x-smartling-placeholder">
      </ph>
    • Gehen Sie zur Firebase Console und wählen Sie das Projekt aus, für das Sie Beispiel-App.
    • 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 Start in test mode aus, um das Beispiel auszuführen.
      • Wenn Sie Firebase für eine App verwenden, die Sie veröffentlichen möchten, restriktivere Sicherheitsregeln verwenden.
  4. Fügen Sie in Xcode Ihrer App die Datei GoogleService-Info.plist neben Info.plist.

ARCore API einrichten

Um Cloud-Anker verwenden zu können, müssen Sie zunächst den ARCore API für Ihre Anwendung

Pod-Update ausführen

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

  1. Öffnen Sie ein Terminalfenster und führen Sie pod update in dem Ordner aus, in dem die Xcode-Projekt ist vorhanden.
    Dadurch wird eine .xcworkspace-Datei generiert, die Sie später zum Erstellen und die App ausführen.

Weitere Informationen finden Sie unter ARCore SDK zur App hinzufügen. finden Sie weitere Informationen zum Konfigurieren von Podfile in Ihren eigenen Apps.

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

    Achten Sie darauf, dass Sie aus dem .xcworkspace erstellen, um Build-Fehler zu vermeiden und nicht die .xcodeproj-Datei.

App-Bundle-ID ändern

Ändern Sie in Xcode die Bundle-ID der App, damit Sie die App mit 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, beachten Sie Folgendes: finden Sie weitere Informationen zur Verwendung der Anwendung zum Hosten und Auflösen von Cloud-Anchors.

Beispiel-App testen

  1. Erstellen Sie zum Starten die Beispiel-App aus der Datei .xcworkspace und führen Sie sie aus auf Ihrem Gerät.

  2. Wenn Sie dazu aufgefordert werden, gewähren Sie der App Kameraberechtigungen. Dann ARKit erkennt Flugzeuge vor der Kamera.

  3. Tippen Sie auf HOST, um den Hostingmodus zu starten. Raumcode zum Freigeben gehosteter Anker generiert und auf Ihrem Bildschirm angezeigt.

  4. Tippen Sie auf ein Flugzeug, um dort einen Wolkenanker zu hosten.

    • Die App platziert ein Android-Objekt von Andy im Flugzeug und verbindet einen Anker hinzufügen.
    • Eine Hostanfrage wird an den ARCore API-Cloud-Endpunkt gesendet. Host -Anfrage enthält Daten, die die Position des Ankers relativ zu der visuelle Merkmale in der Nähe.
    • Sobald der Anker gehostet wird, erhält er eine ID, die zur Auflösung der Cloud die Anker in diesem Bereich.
  5. Tippe auf RESOLVE und gib einen Zimmercode ein, auf den du schon zugreifen möchtest gehostete Cloud-Anchors für diesen Raum auf demselben oder einem anderen Gerät.

    • Eine Resolve-Anfrage wird an den Cloud-Endpunkt der ARCore API gesendet.
    • Die Resolve-Anfrage enthält eine Cloud-Anchor-ID. Wenn die ID mit einem und die Lokalisierung erfolgreich war, gibt der Server Transformation des Ankers in Ihre lokalen Koordinaten.
    • Die Beispiel-App verwendet die Transformation, um den Anker zu Ihrer Szene hinzuzufügen. damit verbundene virtuelle Objekte zu rendern.

ARCore SDK in Apps einbinden

In deinen eigenen Apps musst du auf deinem Gerät (Podfile) den Parameter ARCore SDK und unterstützte iOS-Versionsverwaltung Das geht so:

  1. Fügen Sie Folgendes platform und pod hinzu: Podfile des Projekts:

        platform :ios, '11.0'
        pod 'ARCore/CloudAnchors', '~> 1.45.0'
    
  1. Öffnen Sie ein Terminalfenster und führen Sie pod update in dem Ordner aus, in dem Ihr Xcode-Projekt existiert.
    Dadurch wird eine .xcworkspace-Datei generiert, die Sie zum Erstellen und führen Sie die App aus.

Persistente Cloud-Anchors

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

Nächste Schritte