[swift] Swift DeviceKit을 사용하여 디바이스 판별하기

iOS 앱을 개발할 때, 종종 현재 실행 중인 디바이스의 유형을 판별해야 할 때가 있습니다. 예를 들어, 특정 디바이스에서만 작동하는 기능을 구현하거나, 디바이스의 사양에 따라 다른 동작을 해야 하는 경우 등이 있습니다.

Swift DeviceKit은 Swift로 작성된 오픈 소스 라이브러리로, 디바이스의 정보를 쉽게 얻을 수 있는 기능을 제공합니다. 이 라이브러리는 iPhone, iPad, iPod touch 등의 모델명, 운영체제 버전, 화면 크기 등 다양한 디바이스 정보를 확인할 수 있습니다.

DeviceKit 설치

Swift Package Manager를 사용하여 DeviceKit을 설치할 수 있습니다. Xcode 프로젝트의 FileSwift PackagesAdd Package Dependency를 선택한 뒤, https://github.com/devicekit/DeviceKit.git을 입력하여 패키지를 추가합니다.

또는, Package.swift 파일에 다음과 같이 의존성을 추가할 수도 있습니다:

// Package.swift

let package = Package(
    name: "MyProject",
    dependencies: [
        .package(url: "https://github.com/devicekit/DeviceKit.git", from: "4.0.0")
    ],
    targets: [
        .target(
            name: "MyProject",
            dependencies: ["DeviceKit"]
        )
    ]
)

디바이스 정보 얻기

import DeviceKit

let device = Device.current

print(device) // 현재 실행 중인 디바이스 정보 출력

print(device.description) // 디바이스 모델명 출력
print(device.systemVersion) // 운영체제 버전 출력
print(device.diagonal) // 디바이스 화면 대각선 크기 출력
print(device.isPad) // 현재 디바이스가 iPad인지 여부 출력

Device.current를 사용하여 현재 실행 중인 디바이스의 정보를 얻을 수 있습니다. description 속성은 디바이스의 모델명을 나타내고, systemVersion 속성은 운영체제 버전을 나타냅니다. 또한 diagonal 속성을 통해 디바이스의 화면 대각선 크기를, isPad 속성을 통해 iPad 여부를 확인할 수 있습니다.

예제

아래는 디바이스가 iPhone인 경우에만 실행되는 예제 코드입니다:

import DeviceKit

let device = Device.current

if device.isPhone {
    // iPhone에서만 실행되는 코드
    print("This code runs only on iPhone.")
} else {
    print("This code runs on other devices.")
}

위의 예제 코드에서 isPhone 속성은 현재 디바이스가 iPhone인지 여부를 확인하는 속성입니다. 따라서 디바이스가 iPhone인 경우에는 해당 코드 블록이 실행됩니다.

결론

Swift DeviceKit은 iOS 앱에서 디바이스 정보를 쉽게 얻을 수 있도록 도와주는 라이브러리입니다. 설치 방법과 사용법을 익혀서 원하는 기능을 구현하는데 활용해 보시기 바랍니다.

참고 자료