Ten krótki przewodnik po interfejsie ARCore Geospatial API pokazuje, jak uruchomić w Xcode aplikację demonstrującą Geospatial API.
Przewodnik po tworzeniu własnej aplikacji z użyciem interfejsu Geospatial API znajdziesz w Przewodniku dla programistów korzystających z interfejsu Geospatial API na iOS.
Więcej informacji o Geospatial API znajdziesz w artykule Wprowadzenie do Geospatial API ARCore.
Jeśli dopiero zaczynasz tworzyć aplikacje z wykorzystaniem ARCore, zapoznaj się z artykułem Pierwsze kroki.
Wymagania wstępne
- Xcode w wersji 13.0 lub nowszej
- Cocoapods w wersji 1.4.0 lub nowszej (jeśli używasz Cocoapods).
- Urządzenie Apple z ARKit w wersji 12.0 lub nowszej (wymagany jest cel wdrożenia w wersji iOS 12.0 lub nowszej)
Konfigurowanie przykładowej aplikacji
Projekt GeospatialExample zawarty w pakiecie ARCore SDK na iOSa opisuje kod wywołujący interfejs Geospatial API.
Aby uzyskać przykładowy kod aplikacji, sklonuj lub pobierz ARCore SDK na iOS z GitHuba.
Otwórz okno terminala lub Findera i otwórz folder, w którym skopiowano lub pobierano pakiet SDK.
Przejdź do folderu arcore-ios-sdk-master/Examples.
Otwórz folder Przykłady, wybierz folder Przykład danych geoprzestrzennych i kliknij Otwórz.
Konfigurowanie projektu Google Cloud
Zanim użyjesz w aplikacji systemu pozycjonowania wizualnego (VPS), musisz najpierw włączyć interfejs ARCore API w nowym lub istniejącym projekcie Google Cloud. Mimo że interfejs Geospatial API obsługuje zarówno autoryzację bez klucza, jak i autoryzację za pomocą klucza interfejsu API, w tym przewodniku użyj metody autoryzacji za pomocą klucza interfejsu API.
Autoryzacja konfiguracji
Aby wywoływać interfejs Geospatial API w usłudze VPS, aplikacja przykładowa musi zostać autoryzowana i może używać klucza interfejsu API bez ograniczeń. Jeśli używasz klucza API z ograniczeniami, musisz też podać identyfikator pakietu, który chcesz powiązać z kluczem API.
W XCode w przykładowej aplikacji GeospatialExample otwórz plik ViewController.m i znajdź parametr your-api-key.
Dodaj klucz interfejsu API do pola
GARSession
: wklej skopiowany w poprzednim kroku klucz interfejsu API w polu twój-klucz-api (pozostaw cudzysłowe), jak pokazano na rysunku:self.garSession = [GARSession sessionWithAPIKey:@"your-api-key" bundleIdentifier:nil error:&error];
Konfigurowanie pakietu SDK ARCore
Aplikacja GeospatialExample jest dostarczana z Podfile
skonfigurowanymi z wymaganymi wersjami pakietów SDK ARCore i iOS. Aby zainstalować te zależności, otwórz okno terminala i uruchom pod install
z folderu, w którym znajduje się projekt Xcode.
Spowoduje to wygenerowanie pliku .xcworkspace
, którego użyjesz później do kompilacji i uruchomienia aplikacji.
Tworzenie i uruchamianie przykładowej aplikacji
W Xcode wybierz plik obszaru roboczego GeospatialExample i kliknij Podpisywanie i możliwości.
Zaznacz pole Automatycznie zarządzaj podpisywaniem.
W polu Zespół wpisz nazwę zespołu.
Do uruchamiania aplikacji z Xcode możesz użyć domyślnego identyfikatora pakietu, ale musisz go zmienić, jeśli używasz przykładu GeospatialExample jako zastępnika w produkcyjnej wersji aplikacji.
Podłącz urządzenie, aby uruchomić przykładową aplikację.
Utwórz i uruchom aplikację GeospatialExample z pliku
.xcworkspace
, aby ją uruchomić na urządzeniu.Aby uniknąć błędów kompilacji, upewnij się, że kompilujesz na podstawie pliku
.xcworkspace
, a nie pliku.xcodeproj
.
Powinieneś zobaczyć widok z kamery wraz z informacjami debugowania opisującymi bieżącą transformację geoprzestrzenną urządzenia. Podczas skanowania otoczenia zwróć uwagę, że wartości dokładności pozycjonowania mogą się zmieniać w miarę poruszania się, jeśli znajdujesz się w obszarze obsługiwanym przez lokalizację VPS.
Gdy ARCore będzie mieć pewność co do lokalizacji i kierunku urządzenia, możesz umieścić kotwicę w swojej bieżącej lokalizacji, korzystając z transformacji geoprzestrzennej.
Dokładność pozycjonowania może być zbyt niska, jeśli informacje VPS są niedostępne. Aplikacja musi być połączona z internetem, a lokalizacja musi być znana VPS. Aby uzyskać najlepsze wyniki, uruchom przykładową aplikację na zewnątrz (nie w pomieszczeniu) w godzinach dziennych.
Jeśli znajdujesz się w miejscu, w którym nie można korzystać z VPS, lub jeśli sygnały GPS są niewystarczające, konieczne może być dostosowanie progów pewności w aplikacji, aby umieścić kotwicę.
Aby dostosować progi:
W Xcode otwórz plik ViewController.m i otwórz ten dział:
// Thresholds for 'good enough' accuracy. These can be tuned for the // application. We use both 'low' // and 'high' values here to avoid flickering state changes. static const CLLocationAccuracy kHorizontalAccuracyLowThreshold = 10; static const CLLocationAccuracy kHorizontalAccuracyHighThreshold = 20; static const CLLocationDirectionAccuracy kHeadingAccuracyLowThreshold = 15; static const CLLocationDirectionAccuracy kHeadingAccuracyHighThreshold = 25;
W razie potrzeby zmień te wartości. Im wyższa wartość, tym niższa dokładność.
Zmniejszenie dokładności pozwala aplikacji na większą elastyczność w umieszczaniu kotwicy. Więcej informacji znajdziesz w artykule Dostosowywanie dokładności przekształceń.
Dalsze kroki
Zapoznaj się z przewodnikiem Geospatial API dla deweloperów na iOS i zacznij tworzyć rozwiązania z użyciem interfejsu Geospatial API.