SwiftUI에서 Combine을 활용해서 화면 회전 감지하기
·
iOS/SwiftUI
PoC를 진행하며, iPad에서 가로 및 세로 모드를 모두 지원해야 했고, 이를 위해 디바이스의 방향을 감지하는 기능이 필요했습니다. Combine과 NotificationCenter를 활용하여 회전을 감지하고 화면에 반영하는 방법을 사용했습니다. 목표SwiftUI에서 화면 방향을 일관되게 감지하고 관리할 수 있도록 DeviceManager라는 싱글톤 클래스를 구현합니다. DeviceManager는 앱 전역에서 기기의 화면 회전을 감지하고, 이를 SwiftUI 뷰에서 구독하여 UI를 업데이트할 수 있도록 합니다.1. DeviceManager 싱글톤 클래스 만들기DeviceManager는 화면 회전 상태를 관리하는 @Published 변수를 포함한 싱글톤 객체로, 방향이 바뀔 때마다 UIDevice.cur..