iOS용 지리정보 빠른 시작

이 ARCore Geospatial API 빠른 시작에서는 Geospatial API를 보여주는 샘플 앱을 Xcode에서 실행하는 방법을 보여줍니다.

Geospatial API로 자체 앱을 개발하는 방법에 관한 가이드는 iOS용 Geospatial 개발자 가이드를 참고하세요.

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

ARCore를 사용한 개발이 처음이라면 시작하기를 참고하세요.

기본 요건

  • Xcode 버전 13.0 이상
  • CocoaPods를 사용하는 경우 Cocoapods 1.4.0 이상
  • iOS 12.0 이상을 실행하는 ARKit 호환 Apple 기기(iOS 12.0 이상 배포 타겟 필요)

샘플 앱 설정

iOS용 ARCore SDK에 포함된 GeospatialExample 프로젝트는 Geospatial API를 호출하는 코드를 설명합니다.

  1. GitHub에서 iOS용 ARCore SDK를 클론하거나 다운로드하여 샘플 앱 코드를 가져옵니다.

  2. 터미널 또는 Finder 창을 열고 SDK를 클론했거나 다운로드한 폴더로 이동합니다.

  3. arcore-ios-sdk-master/Examples 폴더로 이동합니다.

  4. Examples 폴더를 열고 GeospatialExample 폴더를 선택한 다음 Open을 클릭합니다.

Google Cloud 프로젝트 설정

앱에서 VPS (Visual Positioning System)를 사용하려면 먼저 새 Google Cloud 프로젝트 또는 기존 Google Cloud 프로젝트에서 ARCore API를 사용 설정해야 합니다. Geospatial API는 키가 없는 인증과 API 키 인증 모두와 함께 작동하지만 이 빠른 시작 가이드에서는 API 키 메서드를 사용하세요.

승인 설정하기

VPS에 Geospatial API를 호출하려면 샘플 앱에 승인이 필요하며 제한이 없는 API 키를 사용할 수 있습니다. 제한된 API 키를 사용하는 경우 API 키와 연결할 번들 ID도 제공해야 합니다.

  1. XCode의 GeospatialExample 샘플 앱에서 ViewController.m 파일을 열고 your-api-key를 검색합니다.

  2. GARSession에 API 키 추가: 이전 단계에서 복사한 API 키를 텍스트 your-api-key 위에 붙여넣습니다 (따옴표는 그대로 둡니다).

    self.garSession = [GARSession sessionWithAPIKey:@"your-api-key"
                                   bundleIdentifier:nil
                                              error:&error];
    

ARCore SDK 설정

GeospatialExample 앱은 필요한 ARCore SDK 및 iOS 버전으로 사전 구성된 Podfile와 함께 제공됩니다. 이러한 종속 항목을 설치하려면 터미널 창을 열고 Xcode 프로젝트가 있는 폴더에서 pod install를 실행합니다.

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

샘플 앱 빌드 및 실행

  1. Xcode에서 GeospatialExample 작업공간 파일을 선택하고 Signing & Capabilities(서명 및 기능)를 클릭합니다.

  2. 자동으로 서명 관리 체크박스를 선택합니다.

  3. 필드에 팀 이름을 입력합니다.

    기본 번들 식별자를 사용하여 Xcode에서 앱을 실행할 수 있지만 프로덕션에서 자체 앱의 스텁으로 GeospatialExample을 사용하는 경우 이를 변경해야 합니다.

  4. 기기를 연결하여 샘플 앱을 실행합니다.

  5. .xcworkspace 파일에서 GeospatialExample 앱을 빌드하고 실행하여 기기에서 실행합니다.

    빌드 오류를 방지하려면 .xcodeproj 파일이 아닌 .xcworkspace 파일에서 빌드해야 합니다.

기기의 현재 지리 공간적 변환을 설명하는 디버그 정보와 함께 카메라 뷰가 표시됩니다. 주변 환경을 스캔할 때 VPS 위치 지정이 지원되는 지역에 있다면 이동하면서 위치 정확성 신뢰도 값이 변경될 수 있습니다.

ARCore가 기기의 위치와 방향에 확신을 가질 때 지리적 변환을 사용하여 현재 위치에 앵커를 배치할 수 있습니다.

VPS 정보를 사용할 수 없는 경우 위치 결정 정확도가 너무 낮을 수 있습니다. 앱이 인터넷에 연결되어 있어야 하며 VPS에 위치가 알려져 있어야 합니다. 최상의 결과를 얻으려면 샘플 앱을 실내에서 실행하지 말고 낮 동안 외부에서 실행하세요.

또한 VPS를 지원하지 않는 지역이거나 GPS 신호가 충분하지 않은 경우 앵커를 배치하려면 앱에서 신뢰도 기준점을 조정해야 할 수 있습니다.

기준치를 조정하려면 다음 단계를 따르세요.

  1. Xcode에서 ViewController.m 파일을 열고 다음 섹션으로 이동합니다.

    // 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;
    
  2. 필요에 따라 이러한 값을 조정합니다. 값이 클수록 정확도가 낮아집니다.

    정확도를 낮추면 앱이 앵커를 배치할 때 더 큰 범위를 가질 수 있습니다. 자세한 내용은 변환 정확도 조정을 참고하세요.

다음 단계

iOS용 Geospatial 개발자 가이드를 검토하고 Geospatial API로 빌드를 시작합니다.