iOS 앱에 Geospatial API 사용 설정

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

기본 요건

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

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

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

ARCore로 처음 개발하는 경우에는 시작하기에서 사용 중인 플랫폼과 관련된 소프트웨어 및 하드웨어 요구사항, 기본 요건, 기타 정보에 관한 정보를 확인하세요.

ARCore API 사용 설정

앱에서 VPS (Visual Positioning System)를 사용하기 전에 먼저 신규 또는 기존 Google Cloud 프로젝트에서 ARCore API를 사용 설정해야 합니다. 이 서비스는 지리정보 앵커를 호스팅, 저장, 확인하는 역할을 합니다.

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

앱에 필수 라이브러리 추가

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

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

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

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

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

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

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

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

세션 구성에서 지리정보 기능 사용 설정

기기 호환성 확인하기

ARCore를 지원하는 모든 기기가 quickstart에 설명된 대로 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 API는 VPS와 GPS 조합을 사용하여 Geospatial 변환을 결정하므로 기기가 위치를 파악할 수 있는 한 API를 사용할 수 있습니다. 실내 공간 및 밀집된 도시 환경과 같이 GPS 정확도가 낮은 영역에서 API는 VPS 범위를 사용하여 높은 정확도의 변환을 생성합니다. 일반적인 조건에서 VPS는 약 5미터의 위치 정확도와 5도의 회전 정확도를 제공할 것으로 예상됩니다. GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:를 사용하여 지정된 위치에 VPS 서비스 지역을 적용할 수 있는지 확인합니다.

Geospatial API는 VPS 커버리지가 없는 영역에서도 사용할 수 있습니다. 오버헤드가 거의 없거나 전혀 없는 야외 환경에서는 GPS만으로도 높은 정확도로 변환을 생성할 수 있습니다.

다음 단계