이전 ARCore Cloud Anchor API는 지원 중단되었으며 2023년 8월 31일 이후에는 지원되지 않습니다. 앱에서 이 API를 사용하는 경우 최대한 빨리 새로운 ARCore API 엔드포인트를 사용하도록 업데이트해야 합니다.

iOS에서 Cloud Anchor 빠른 시작

ARCore Cloud Anchor API 또는 ARCore Cloud Anchor 서비스는 iOS 앱의 Cloud 앵커 기능을 제공하므로 iOS 및 Android 기기 모두 사용자가 AR 환경을 공유할 수 있습니다.

이 가이드에서는 다음을 수행하는 방법을 설명합니다.

  • Cloud Anchors를 사용할 개발 환경 설정
  • 샘플 앱에서 앵커 호스팅 및 확인 시도하기

요구사항

Cloud 앵커를 사용하려면 다음이 필요합니다.

  • Xcode 버전 10.1 이상

  • Cocoapods 1.4.0 이상

  • iOS 11.0 이상을 실행하는 ARKit 호환 Apple 기기(iOS 10.0 이상의 배포 대상 필요)

Cloud 앵커 사용

다음 단계에서는 Cloud Anchors 샘플 앱을 사용하여 ARCore Cloud Anchors를 지원하는 앱을 구성하고 빌드하는 중요한 작업을 보여줍니다.

Cloud Anchors 샘플 앱 가져오기

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

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

  3. 샘플 앱 코드는
    /arcore-ios-sdk-master/Examples/CloudAnchorExample에서 확인할 수 있습니다.

    영구 Cloud 앵커 샘플 앱 코드는
    /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample에 있습니다.

세션 설정

샘플 앱은 세션을 설정하는 과정에서 다음과 같은 중요한 작업을 수행합니다.

Cloud Anchor ID 공유 설정

Cloud Anchors 샘플 앱은 Firebase를 사용하여 기기 간에 Cloud Anchor ID를 공유합니다. 자체 앱에서 다른 솔루션을 사용할 수 있습니다.

샘플 앱에서 Firebase 데이터베이스를 설정하는 방법은 다음과 같습니다.

  1. 앱에 Firebase를 추가하는 방법에 대한 Firebase 안내를 따릅니다.
  2. 앱에 Firebase를 추가하는 과정에서 생성된 GoogleService-Info.plist 파일을 다운로드합니다.
  3. 샘플에 Firebase 저장소를 사용 설정합니다.
    • Firebase Console로 이동하여 샘플 앱에 설정한 프로젝트를 선택합니다.
    • Database 패널을 선택합니다.
    • Realtime Database 옵션에서 Get Started를 클릭합니다.
    • Security rules for Realtime Database 메뉴가 열립니다.
      • 샘플을 실행하려면 Start in test mode를 선택합니다.
      • 게시할 앱에 Firebase를 사용하는 경우 더 제한적인 보안 규칙을 사용해야 합니다.
  4. Xcode에서 Info.plist 옆에 있는 GoogleService-Info.plist 파일을 앱에 추가합니다.

API 키 추가

Cloud Anchors를 사용하려면 앱에 API 키를 추가해야 합니다.

  1. API 키 가져오기 API 키를 처음 사용하는 경우 Google Cloud Platform Console 고객센터에서 API 키 설정을 참고하세요.

  2. Google Cloud Platform 프로젝트에 ARCore Cloud Anchor API를 사용 설정합니다.

  3. Xcode에서 앱에 API 키를 추가합니다. 이렇게 하려면 CloudAnchorManager.m의 다음 코드에 키를 추가합니다.

    self.gSession = [GARSession sessionWithAPIKey:@"Replace me with your API key."
                                 bundleIdentifier:nil
                                            error:nil];
    

포드 업데이트 실행

CloudAnchorExample 앱은 필요한 ARCore SDK 및 iOS 버전으로 사전 구성된 Podfile와 함께 제공됩니다. 이러한 종속 항목을 설치하려면 다음 안내를 따르세요.

  1. 터미널 창을 열고 Xcode 프로젝트가 있는 폴더에서 pod update를 실행합니다.
    나중에 앱을 빌드하고 실행하는 데 사용할 .xcworkspace 파일이 생성됩니다.

자체 앱에서 Podfile를 구성하는 방법에 관한 자세한 내용은 앱에 ARCore SDK 추가를 참고하세요.

  1. Xcode에서 프로젝트의 .xcworkspace 파일을 엽니다.

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

App Bundle ID 변경

Xcode에서 팀원과 앱에 서명할 수 있도록 앱의 번들 ID를 변경합니다.

앱 빌드 및 실행

  1. 기기를 연결하고 Xcode에서 앱을 실행합니다.

  2. (선택사항) 샘플 앱을 빌드하고 실행하는 경우 이 앱을 사용하여 Cloud 앵커를 호스팅하고 해결하는 방법에 대한 자세한 내용은 다음 섹션을 참조하세요.

샘플 앱 사용해 보기

  1. .xcworkspace 파일에서 샘플 앱을 빌드하고 실행하여 기기에서 실행합니다.

  2. 메시지가 표시되면 앱에 카메라 권한을 부여합니다. 그러면 ARKit이 카메라 앞의 평면 감지를 시작합니다.

  3. HOST을 탭하여 호스팅 모드로 전환합니다. 호스팅된 앵커를 공유하기 위한 채팅방 코드가 생성되고 화면에 표시됩니다.

  4. 평면을 탭하여 클라우드 앵커를 호스팅합니다.

    • 앱은 앤디 Android 객체를 평면에 배치하고 앵커를 연결합니다.
    • 호스트 요청은 ARCore Cloud Anchor API로 전송됩니다. 호스트 요청에는 가까이 있는 시각적 특징을 기준으로 앵커의 위치를 나타내는 데이터가 포함됩니다.
    • 앵커가 호스팅되면 이 공간의 Cloud 앵커를 확인하는 데 사용되는 ID가 가져오기됩니다.
  5. RESOLVE 기기를 탭하고 동일한 기기 또는 다른 기기를 사용해 이 회의실의 Cloud 앵커에 액세스하도록 하려면 채팅방 코드를 입력합니다.

    • 확인 요청이 ARCore Cloud Anchor API로 전송됩니다.
    • 확인 요청에는 Cloud Anchor ID가 포함됩니다. ID가 호스팅된 앵커와 일치하고 현지화에 성공하면 서버가 로컬 좌표에 앵커의 변환을 반환합니다.
    • 샘플 앱은 변환을 사용하여 장면에 앵커를 추가하고 연결된 가상 객체를 렌더링합니다.

앱에 ARCore SDK 추가

자체 앱에서 ARCore SDK 및 지원되는 iOS 버전 관리를 포함하도록 Podfile을 업데이트해야 합니다. 제공받는 방법은 다음과 같습니다.

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

        platform :ios, '11.0'
        pod 'ARCore/CloudAnchors', '~> 1.33.0'
    
  1. 터미널 창을 열고 Xcode 프로젝트가 있는 폴더에서 pod update를 실행합니다.
    이렇게 하면 앱을 빌드하고 실행하는 데 사용되는 .xcworkspace 파일이 생성됩니다.

영구 클라우드 앵커

지속성으로 Cloud Anchor 호스팅에 설명된 대로 Cloud 앵커에 최대 365일의 TTL(수명)을 부여할 수 있습니다. 영구 Cloud 앵커를 사용하는 샘플 코드는 GitHub의 iOS용 ARCore SDK에 있는 /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample 디렉터리에서 제공됩니다.

다음 단계