iOS용 지리정보 빠른 시작

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

Geospatial API를 사용하여 자체 앱을 개발하는 방법에 대한 가이드는 iOS용 지리정보 개발자 가이드를 참고하세요.

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. Example 폴더를 열고 GeospatialExample 폴더를 선택한 후 Open을 클릭합니다.

Google Cloud 프로젝트 설정

VPS (Visual Positioning System)를 사용하려면 앱을 ARCore API가 사용 설정된 Google Cloud 프로젝트와 연결해야 합니다.

Google Cloud 프로젝트에서 ARCore API를 사용 설정해야 합니다. 프로젝트를 만들어야 하는 경우 다음 단계를 따르세요.

  1. Google Cloud Platform에서 프로젝트 만들기를 참고하세요.

  2. 적절한 프로젝트 이름을 입력하고 위치를 선택합니다.

  3. 만들기를 클릭합니다.

  4. 사이드바에서 API 및 서비스라이브러리를 차례로 선택합니다.

  5. ARCore API를 검색하여 선택하고 사용 설정을 클릭합니다.

승인 설정하기

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

  1. Google Cloud 프로젝트에서 API 키 만들기에 설명된 대로 API 키를 가져옵니다.

  2. 이후 단계에서 API 키를 복사합니다. 이 키는 붙여넣습니다.

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

  4. 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 작업공간 파일을 선택하고 서명 및 기능을 클릭합니다.

  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 API를 사용한 빌드를 시작하세요.