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 실제 기기에서 실행하면 다음과 같은 결과가 출력됩니다.

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