Run your iPad and iPhone apps in the Shared Space

inu
daily-monster
Published in
4 min readApr 15, 2024

안녕하세요 inu입니다. 오늘은 Run your iPad and iPhone apps in the Shared Space를 감상하고 정리해왔어요.

해당 세션은 기존의 iPad 혹은 iPhone 앱을 visionOS로 빌드하는 방법과 특징에 대해 설명하고 있습니다.

visionOS에 기존 앱을 빌드하게 될 경우

  • 라이트 모드 스타일로 나타납니다
  • iPhone보다는 iPad 형태를 더 선호합니다
  • 가로(Landscpae)모드를 더 선호합니다
  • 회전을 지원하는 앱일 경우 회전 버튼도 지원합니다
  • 크기를 늘리고 줄이는 것도 가능합니다

TouchI ID 및 Face ID를 지원하는 앱일 경우 LocalAuthentication이 구현 내용을 Optic ID를 통해 자동 전달하여 우리 앱이 추가적인 작업없이 인증을 지원할 수 있도록 도와줍니다.

iPad와 마찬가지로 가로 혹은 세로로 앱을 볼 수 있습니다. 하지만 iPad에서와 달리 기기 자체가 ‘회전’한다는 개념은 존재하지 않습니다. 기기의 방향과 무관하도록 방향이 설정되기 때문에 새로운 scene에서 앱이 선호하는 방향을 설정하는 것이 좋습니다.

Info.plist에 UIPreferredDefaultInterface Orientation 키를 넣어 설정할 수 있습니다. 설정하지 않으면 기본값으로 설정됩니다. 또한 각 플랫폼 끼리의 설정값은 공유되지 않습니다.

추가적으로 기존에 존재하던 두가지 옵션도 활용할 수 있습니다.

  • UISupportedInterfaceOrientations : 앱이 지원하는 방향에 대해 결정할 수 있음
  • UIRequiredDeviceCapabilities : 특정 기기와 앱이 호환되는지 판단할 수 있음

visionOS(xrOS) SDK가 설치되면 자동으로 visionOS Device (Designed for iPad)가 추가됩니다. 이를 Supported Destinations에 추가하면 이를 타깃으로 빌드가 가능해집니다.

SpriteKit과 Storyboard가 앱에 내장되어 있다면 Designed for iPad를 고수해야 합니다. ARKit과 RealityKit의 기능들은 visionOS만을 위한 기능들이 존재합니다.

iPad 및 iPhone 앱은 Window로 나타나며 라이트 모드입니다. visionOS 앱은 Window를 포함해 Volume, ImmersiveSpace를 지원합니다. 또한 전체적인 스타일도 visionOS만의 느낌을 보유합니다.

visionOS는 ‘Ornaments’라고 하는 앱 화면 외부에 배치되는 컴포넌트도 지원합니다.

--

--