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.48.0'
- 터미널 창을 열고 Xcode 프로젝트가 있는 폴더에서
pod update
를 실행합니다.
앱을 빌드하고 실행하는 데 사용하는.xcworkspace
파일이 생성됩니다.
영구 클라우드 앵커
지속성을 사용하여 Cloud Anchor 호스팅에 설명된 대로 클라우드 앵커에 최대 365일의 TTL을 부여할 수 있습니다. 영구 클라우드 앵커를 사용하는 샘플 코드는 GitHub의 iOS용 ARCore SDK의 /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
디렉터리에서 확인할 수 있습니다.
다음 단계
샘플 앱 코드를 살펴보고 자체 앱에서 클라우드 앵커를 사용하는 방법을 자세히 알아보려면 iOS용 클라우드 앵커 개발자 가이드를 참고하세요.
ARCore iOS API 참조에서 세부정보를 검토하세요.