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 버전, 배터리 상태 등 핵심 정보를 간편하게 확인할 수 있어, 기기별 분기 처리나 디버깅 작업에 매우 유용하게 활용됩니다.