Computer >> 컴퓨터 >  >> 프로그래밍 >> iOS

Swift의 UIUserInterfaceIdiom으로 현재 기기 종류 감지하기

UIUserInterfaceIdiom이란?

iOS/Swift 환경에서 현재 실행 중인 기기의 종류를 확인하려면 UserInterfaceIdiom을 활용할 수 있습니다. 이는 Swift에서 제공하는 열거형(enum)으로, 앱이 어떤 종류의 기기에서 동작하고 있는지를 알려주는 역할을 합니다.

인터페이스 이디옴(interface idiom) 열거형은 다음과 같은 여러 값을 가질 수 있습니다.

case unspecified
@available(iOS 3.2, *)
case phone // iPhone 및 iPod touch 스타일 UI
@available(iOS 3.2, *)
case pad // iPad 스타일 UI
@available(iOS 9.0, *)
case tv // Apple TV 스타일 UI
@available(iOS 9.0, *)
case carPlay // CarPlay 스타일 UI

Swift에서 인터페이스 이디옴 사용 방법

Swift 코드에서 userInterfaceIdiom은 아래와 같은 방식으로 활용할 수 있습니다.

print(UIDevice.current.userInterfaceIdiom)
if UIDevice.current.userInterfaceIdiom == .phone {
   print("running on iPhone")
}

위 코드를 iPhone 실제 기기에서 실행하면 다음과 같은 결과가 출력됩니다.

Swift의 UIUserInterfaceIdiom으로 현재 기기 종류 감지하기

정리

UIDevice.current.userInterfaceIdiom 값을 비교하면 iPhone, iPad, Apple TV, CarPlay 등 현재 기기의 UI 스타일을 손쉽게 판별할 수 있으며, 이를 통해 기기별로 다른 레이아웃이나 동작을 구현할 수 있습니다.