ARCore Cloud Anchor API 또는 ARCore Cloud Anchor 서비스는 iOS 앱에 클라우드 앵커 기능을 제공하므로 iOS 및 Android 기기의 사용자가 모두 AR 환경을 공유할 수 있습니다.
이 가이드에서는 다음을 수행하는 방법을 보여줍니다.
- Cloud 앵커와 작동하도록 개발 환경 설정
- 샘플 앱에서 앵커 호스팅 및 확인해 보기
기본 요건
- Xcode 버전 13.0 이상
- CocoaPods를 사용하는 경우 Cocoapods 1.4.0 이상
- iOS 12.0 이상을 실행하는 ARKit 호환 Apple 기기(iOS 12.0 이상 배포 타겟 필요)
Cloud Anchors 사용
다음 단계에서는 Cloud Anchors 샘플 앱을 사용하여 ARCore Cloud Anchors를 지원하는 앱을 구성하고 빌드하는 데 필요한 중요한 작업을 보여줍니다.
Cloud Anchors 샘플 앱 가져오기
GitHub에서 iOS용 ARCore SDK를 클론하거나 다운로드하여 샘플 앱 코드를 가져옵니다.
터미널 또는 Finder 창을 열고 SDK를 클론했거나 다운로드한 폴더로 이동합니다.
샘플 앱 코드는
/arcore-ios-sdk-master/Examples/CloudAnchorExample에서 확인할 수 있습니다.영구 클라우드 앵커 샘플 앱 코드는
/arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample에 있습니다.
세션 설정
샘플 앱은 세션 설정의 일환으로 다음과 같은 중요한 작업을 실행합니다.
GARSession만들기ARSession만들기 및 실행ARSessionDelegate설정session:didUpdateFrame:메서드에서GARSession에ARFrame를 전달합니다.
Cloud Anchor ID 공유 설정
Cloud Anchors 샘플 앱은 기기 간에 클라우드 앵커 ID를 공유하는 데 Firebase를 사용합니다. 자체 앱에서는 다른 솔루션을 사용할 수 있습니다.
샘플 앱에서 Firebase 데이터베이스를 설정하려면 다음 단계를 따르세요.
- 앱에 Firebase 추가에 관한 Firebase 안내를 따르세요.
- 앱에 Firebase를 추가할 때 생성된
GoogleService-Info.plist파일을 다운로드합니다. - 샘플에 Firebase Storage를 사용 설정합니다.
- Firebase Console로 이동하여 샘플 앱에 설정한 프로젝트를 선택합니다.
- Database 패널을 선택합니다.
- Realtime Database 옵션에서 Get Started 아이콘을 클릭합니다.
- Security rules for Realtime Database 메뉴가 열립니다.
- 샘플을 실행하려면 Start in test mode를 선택합니다.
- 게시할 앱에 Firebase를 사용하는 경우 더 제한적인 보안 규칙을 사용해야 합니다.
- Xcode에서
Info.plist옆에GoogleService-Info.plist파일을 앱에 추가합니다.
ARCore API 설정
클라우드 앵커를 사용하려면 먼저 애플리케이션에 ARCore API를 설정해야 합니다.
Pod 업데이트 실행
CloudAnchorExample 앱은 필요한 ARCore SDK 및 iOS 버전으로 사전 구성된 Podfile와 함께 제공됩니다. 이러한 종속 항목을 설치하려면 다음 단계를 따르세요.
- 터미널 창을 열고 Xcode 프로젝트가 있는 폴더에서
pod update를 실행합니다.
나중에 앱을 빌드하고 실행하는 데 사용할.xcworkspace파일이 생성됩니다.
자체 앱에서 Podfile를 구성하는 방법에 관한 자세한 내용은 앱에 ARCore SDK 추가를 참고하세요.
Xcode에서 프로젝트의
.xcworkspace파일을 엽니다.빌드 오류를 방지하려면
.xcodeproj파일이 아닌.xcworkspace파일에서 빌드해야 합니다.
앱 번들 ID 변경
Xcode에서 팀으로 앱에 서명할 수 있도록 앱의 번들 ID를 변경합니다.
앱 빌드 및 실행
기기를 연결하고 Xcode에서 앱을 실행합니다.
(선택사항) 샘플 앱을 빌드하고 실행하는 경우 앱을 사용하여 Cloud 앵커를 호스팅하고 확인하는 방법에 관한 자세한 내용은 다음 섹션을 참고하세요.
샘플 앱 사용해 보기
.xcworkspace파일에서 샘플 앱을 빌드하고 실행하여 기기에서 실행합니다.메시지가 표시되면 앱에 카메라 권한을 부여합니다. 그러면 ARKit이 카메라 앞의 평면을 감지하기 시작합니다.
HOST를 탭하여 호스팅 모드로 전환합니다. 호스팅된 앵커를 공유하기 위한 룸 코드가 생성되어 화면에 표시됩니다.
평면을 탭하여 클라우드 앵커 호스팅을 시작합니다.
- 앱이 평면에 Andy Android 객체를 배치하고 앵커를 연결합니다.
- 호스트 요청이 ARCore API 클라우드 엔드포인트로 전송됩니다. 호스트 요청에는 근처의 시각적 지형지물에 대한 앵커의 위치를 나타내는 데이터가 포함됩니다.
- 앵커가 호스팅되면 이 공간에서 클라우드 앵커를 확인하는 데 사용되는 ID를 가져옵니다.
RESOLVE를 탭하고 회의실 코드를 입력하여 동일한 기기 또는 다른 기기를 사용하여 이 회의실에 대해 이전에 호스팅된 클라우드 앵커에 액세스합니다.
- 해결 요청이 ARCore API 클라우드 엔드포인트로 전송됩니다.
- 확인 요청에는 클라우드 앵커 ID가 포함됩니다. ID가 호스팅된 앵커와 일치하고 현지화가 성공하면 서버는 로컬 좌표로 앵커의 변환을 반환합니다.
- 샘플 앱은 변환을 사용하여 장면에 앵커를 추가하고 이에 연결된 가상 객체를 렌더링합니다.
앱에 ARCore SDK 추가
자체 앱에서는 ARCore SDK 및 지원되는 iOS 버전 관리를 포함하도록 Podfile를 업데이트해야 합니다. 방법은 다음과 같습니다.
프로젝트의
Podfile에 다음platform및pod를 추가합니다.platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.51.0'
- 터미널 창을 열고 Xcode 프로젝트가 있는 폴더에서
pod update를 실행합니다.
앱을 빌드하고 실행하는 데 사용하는.xcworkspace파일이 생성됩니다.
영구 클라우드 앵커
지속성을 사용하여 Cloud Anchor 호스팅에 설명된 대로 클라우드 앵커에 최대 365일의 TTL을 부여할 수 있습니다. 영구 클라우드 앵커를 사용하는 샘플 코드는 GitHub의 iOS용 ARCore SDK의 /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample 디렉터리에서 확인할 수 있습니다.
다음 단계
샘플 앱 코드를 살펴보고 자체 앱에서 클라우드 앵커를 사용하는 방법을 자세히 알아보려면 iOS용 클라우드 앵커 개발자 가이드를 참고하세요.
ARCore iOS API 참조에서 세부정보를 검토하세요.