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

iOS에서 현재 iPhone 모델 정보 확인하는 방법 – UIDevice 클래스 완벽 가이드

iOS에서 iPhone 기기 정보 확인하기

iOS는 UIDevice 클래스를 제공합니다. 이 클래스에는 Apple의 개인정보 보호 정책을 위반하지 않는 범위 내에서 현재 사용 중인 iPhone에 대한 다양한 정보가 담겨 있습니다.

UIDevice를 활용하면 아래와 같은 기기 정보에 손쉽게 접근할 수 있습니다.

UIDevice 주요 속성 정리

  • UIDevice.current.localizedModel – 기기 모델의 현지화(localized)된 버전을 반환합니다.
  • UIDevice.current.model – 현재 기기의 모델 유형을 반환합니다. 예: "iPhone", "iPod touch"
  • UIDevice.current.name – 사용자가 설정한 기기 이름을 반환합니다. 예: "내 iPhone"
  • UIDevice.current.systemName – 운영체제 이름을 반환합니다. 예: "iOS"
  • UIDevice.current.systemVersion – 운영체제 버전을 반환합니다. 예: "12.0"
  • UIDevice.current.batteryLevel – 배터리 잔량을 반환합니다. 값이 0~1 사이일 경우 해당 값을, 상태가 UIDevice.BatteryState.unknown이면 -1.0을 반환합니다.
  • UIDevice.current.batteryState – 배터리 상태를 반환하며, Apple API 기준으로 네 가지 값을 가질 수 있습니다.

배터리 상태(BatteryState) 열거형

public enum BatteryState : Int {
    case unknown     // 알 수 없음
    case unplugged   // 충전기 미연결
    case charging    // 충전 중
    case full        // 충전 완료
}

실전 코드 예제

아래 코드를 ViewController의 viewDidLoad() 메서드에 작성하고 실행 결과를 출력해 보겠습니다.

print(UIDevice.current.model)
print(UIDevice.current.localizedModel)
print(UIDevice.current.systemVersion)

실행 결과

iPhone 7 Plus 시뮬레이터에서 실행했을 때 다음과 같은 결과가 출력됩니다.

iPhone
iPhone
12.0

추가 팁: 배터리 정보 조회 시 주의사항

배터리 관련 정보(batteryLevel, batteryState)를 정확하게 받아오려면 조회 전에 반드시 배터리 모니터링을 활성화해야 합니다.

UIDevice.current.isBatteryMonitoringEnabled = true
print(UIDevice.current.batteryLevel)   // 예: 0.85
print(UIDevice.current.batteryState)   // 예: .charging

이처럼 UIDevice 클래스 하나만으로도 앱이 실행 중인 기기의 모델, OS 버전, 배터리 상태 등 핵심 정보를 간편하게 확인할 수 있어, 기기별 분기 처리나 디버깅 작업에 매우 유용하게 활용됩니다.