Krótkie wprowadzenie do kotwic w chmurze w iOS

Interfejs ARCore Cloud Anchor API lub ARCore Cloud Anchor API zapewnia funkcje kotwicy w chmurze w aplikacjach na iOS. Dzięki temu użytkownicy urządzeń z iOS i Androidem mogą udostępniać treści AR.

Z tego przewodnika dowiesz się, jak:

  • Konfigurowanie środowiska programistycznego do pracy z kotwicami Cloud
  • Wypróbuj hosting i rozwiązywanie problemów z kotwicami w przykładowej aplikacji

Wymagania wstępne

  • Xcode w wersji 13.0 lub nowszej.
  • Cocoapods w wersji 1.4.0 lub nowszej, jeśli używasz Cocoapods.
  • zgodne z ARKit urządzenie Apple z systemem iOS 12.0 lub nowszym (wymagane jest wdrożenie w systemie iOS 12.0 lub nowszym).

Korzystanie z kotwic w chmurze

W poniższych krokach przykładowa aplikacja Cloud Anchors pokazuje najważniejsze zadania związane z konfigurowaniem i tworzeniem aplikacji obsługującej ARCore Cloud Anchors.

Pobieranie przykładowej aplikacji Cloud Anchors

  1. Skopiuj lub pobierz pakiet SDK ARCore SDK na iOS z GitHuba, aby uzyskać przykładowy kod aplikacji.

  2. Otwórz okno terminala lub programu Finder i przejdź do folderu, w którym sklonowano lub pobrany pakiet SDK.

  3. Przykładowy kod aplikacji znajdziesz tutaj:
    /arcore-ios-sdk-master/Examples/CloudAnchorExample.

    Przykładowy kod aplikacji trwałych kotwic w chmurze znajduje się w folderze
    /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample.

Konfiguracja sesji

W ramach konfigurowania sesji przykładowa aplikacja wykonuje te ważne zadania:

Konfigurowanie udostępniania identyfikatora kotwicy Cloud

Przykładowa aplikacja Cloud Anchors używa Firebase do udostępniania identyfikatorów Cloud Anchors między urządzeniami. W swoich aplikacjach możesz użyć innego rozwiązania.

Aby skonfigurować bazę danych Firebase w przykładowej aplikacji:

  1. Postępuj zgodnie z instrukcjami dodawania Firebase do aplikacji.
  2. Pobierz plik GoogleService-Info.plist wygenerowany podczas dodawania Firebase do aplikacji.
  3. Włącz pamięć Firebase dla przykładu:
    • Otwórz konsolę Firebase i wybierz projekt skonfigurowany dla przykładowej aplikacji.
    • Wybierz panel Database.
    • Przy opcji Realtime Database kliknij Get Started.
    • Otworzy się menu Security rules for Realtime Database.
      • Aby uruchomić próbkę, wybierz Start in test mode.
      • Pamiętaj, że jeśli używasz Firebase z aplikacją, którą chcesz opublikować, musisz zastosować bardziej restrykcyjne reguły zabezpieczeń.
  4. W Xcode dodaj do aplikacji plik GoogleService-Info.plist obok pozycji Info.plist.

Konfigurowanie interfejsu ARCore API

Aby korzystać z kotwicy Cloud, musisz najpierw skonfigurować ARCore API dla swojej aplikacji.

Uruchom aktualizację poda

Aplikacja CloudAnchorExample ma wstępnie skonfigurowany pakiet Podfile z pakietem SDK ARCore oraz wymaganymi wersjami iOS. Aby zainstalować te zależności:

  1. Otwórz okno terminala i uruchom pod update z folderu, w którym istnieje projekt Xcode.
    Spowoduje to wygenerowanie pliku .xcworkspace, którego użyjesz później do skompilowania i uruchomienia aplikacji.

Szczegółowe informacje o konfigurowaniu pakietu Podfile we własnych aplikacjach znajdziesz w artykule Dodawanie pakietu SDK ARCore do aplikacji.

  1. Otwórz plik .xcworkspace projektu w Xcode.

    Aby uniknąć błędów kompilacji, upewnij się, że kompilujesz z pliku .xcworkspace, a nie z pliku .xcodeproj.

Zmień identyfikator pakietu aplikacji

W Xcode zmień identyfikator pakietu aplikacji, aby móc podpisać aplikację swojemu zespołowi.

Tworzenie i uruchamianie aplikacji

  1. Podłącz urządzenie i uruchom aplikację w Xcode.

  2. (Opcjonalnie) Jeśli tworzysz i uruchamiasz przykładową aplikację, w sekcji poniżej znajdziesz szczegółowe informacje na temat używania aplikacji do hostowania i rozpatrywania kotwicy Cloud.

Wypróbuj przykładową aplikację

  1. Utwórz i uruchom przykładową aplikację z pliku .xcworkspace, aby uruchomić ją na urządzeniu.

  2. Gdy pojawi się prośba, przyznaj aplikacji uprawnienia do korzystania z aparatu. ARKit zacznie wtedy wykrywać samoloty przed kamerą.

  3. Kliknij HOST, aby włączyć tryb hostingu. Kod pokoju do udostępniania hostowanych kotwic jest generowany i wyświetlany na ekranie.

  4. Kliknij samolot, by zacząć w nim hostować kotwicę w chmurze.

    • Aplikacja umieszcza obiekt Andy'ego Android na płaszczyźnie i łączy do niego kotwicę.
    • Żądanie hosta jest wysyłane do punktu końcowego interfejsu ARCore API w chmurze. Żądanie hosta zawiera dane reprezentujące pozycję kotwicy w stosunku do obiektów wizualnych w jej pobliżu.
    • Gdy kotwica zostanie hostowana, otrzymuje identyfikator, który jest używany do rozpoznawania kotwic w chmurze w tym pokoju.
  5. Kliknij RESOLVE i wpisz kod pokoju, aby uzyskać dostęp do kotwic w chmurze hostowanych wcześniej dla tej sali na tym samym lub innym urządzeniu.

    • Żądanie rozwiązania jest wysyłane do punktu końcowego interfejsu ARCore API w chmurze.
    • Żądanie rozstrzygania zawiera identyfikator kotwicy w chmurze. Jeśli identyfikator pasuje do hostowanej kotwicy, a lokalizacja się uda, serwer zwraca przekształcenie tej kotwicy we współrzędnych lokalnych.
    • Przykładowa aplikacja korzysta z przekształcenia, aby dodać kotwicę do sceny i renderować obiekty wirtualne dołączone do niej.

Dodawanie pakietu SDK ARCore do aplikacji

W swoich aplikacjach musisz zaktualizować Podfile, aby obejmował pakiet SDK ARCore i zapewnić obsługę wersji iOS. Aby to zrobić:

  1. Dodaj platform i pod do Podfile projektu:

        platform :ios, '11.0'
        pod 'ARCore/CloudAnchors', '~> 1.41.0'
    
  1. Otwórz okno terminala i uruchom pod update z folderu, w którym istnieje projekt Xcode.
    Spowoduje to wygenerowanie pliku .xcworkspace, którego użyjesz do skompilowania i uruchomienia aplikacji.

Stałe kotwice w chmurze

Zgodnie z opisem w sekcji Przechowywanie kotwicy w chmurze z zachowaniem trwałości możesz przypisać zakotwiczeniu w chmurze czas życia do 365 dni. Przykładowy kod do korzystania z trwałych kotwic w chmurze jest dostępny w katalogu /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample w pakiecie SDK ARCore SDK na iOS z GitHuba.

Dalsze kroki