iOS 앱에 Geospatial API 사용 설정

Geospatial API를 사용할 수 있도록 앱의 설정을 구성합니다.

기본 요건

계속하기 전에 기본 AR 개념ARCore 세션을 구성하는 방법을 이해해야 합니다.

여기에 설명된 기능을 보여주는 샘플 앱을 실행하려면 iOS용 ARCore 지리정보 빠른 시작을 참고하세요.

Geospatial API에 관한 자세한 내용은 Geospatial API 소개를 참고하세요.

ARCore로 개발하는 것이 처음이라면 시작하기에서 소프트웨어 및 하드웨어 요구사항, 기본 요건, 사용 중인 플랫폼과 관련된 기타 정보에 관해 알아보세요.

ARCore API 사용 설정

앱에서 VPS (시각적 위치 확인 시스템)를 사용하려면 먼저 신규 또는 기존 Google Cloud 프로젝트에서 ARCore API를 사용 설정해야 합니다. 이 서비스는 지리적 앵커를 호스팅, 저장, 확인합니다.

키 없는 승인이 선호되지만 API 키 승인도 지원됩니다.

앱에 필요한 라이브러리 추가

앱이 ARCore API를 호출하도록 승인한 후에는 라이브러리를 추가하여 앱에서 지리정보 기능을 사용 설정해야 합니다.

ARCore SDK 및 지원되는 iOS 버전 관리를 포함하도록 앱의 Podfile을 업데이트합니다. 방법은 다음과 같습니다.

  1. 프로젝트의 Podfile에 다음 platformpod를 추가합니다.

    platform :ios, '11.0'
    pod 'ARCore/Geospatial', '~> 1.46.0'
    

    iOS 10을 지원하려면 platform :ios, '10.0'를 지정할 수도 있지만 Geospatial API는 iOS 11 이상에서만 런타임에 작동합니다.

  2. 터미널 창을 열고 Xcode 프로젝트가 있는 폴더에서 pod install를 실행합니다.

    이렇게 하면 앱을 빌드하고 실행하는 데 사용하는 .xcworkspace 파일이 생성됩니다.

개발 환경이 빠른 시작에 설명된 ARCore SDK 요구사항을 충족하는지 확인합니다.

세션 구성에서 Geospatial 기능 사용 설정

기기 호환성 확인

빠른 시작에 설명된 대로 ARCore를 지원하는 모든 기기가 Geospatial API를 지원하는 것은 아닙니다.

다음과 같이 GARSession.isGeospatialModeSupported:를 사용하여 기기를 확인합니다.

if (![self.garSession isGeospatialModeSupported:GARGeospatialModeEnabled]) {
  [self setErrorStatus:@"GARGeospatialModeEnabled is not supported on this device."];
  return;
}

GARSessionConfiguration *configuration = [[GARSessionConfiguration alloc] init];
configuration.geospatialMode = GARGeospatialModeEnabled;
[self.garSession setConfiguration:configuration error:&error];
if (error) {
  [self setErrorStatus:[NSString stringWithFormat:@"Failed to configure GARSession: %d",
                                                  (int)error.code]];
  return;
}

런타임 시 사용자에게 위치 정보 액세스 권한 요청

앱은 세션을 구성하기 전에 런타임에 다음 위치 정보 액세스 권한을 요청해야 합니다.

기기의 현재 위치에서 Geospatial 사용 가능 여부 확인

Geospatial API는 VPS와 GPS를 조합하여 Geospatial 변환을 결정하므로 기기가 위치를 파악할 수 있는 한 API를 사용할 수 있습니다. 실내 공간, 인구 밀집 도시 환경 등 GPS 정확도가 낮은 지역에서는 API가 VPS 노출 영역을 기반으로 고정밀 변환을 생성합니다. 일반적인 조건에서 VPS는 약 5m의 위치 정확도와 5도 이하의 회전 정확도를 제공할 수 있습니다. GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:를 사용하여 지정된 위치에 VPS 적용 범위가 있는지 확인합니다.

Geospatial API는 VPS 적용 범위가 없는 지역에서도 사용할 수 있습니다. 오버헤드 장애물이 거의 또는 전혀 없는 야외 환경에서는 GPS만으로도 높은 정확도로 변환을 생성하기에 충분할 수 있습니다.

다음 단계