OSS TanbouSign in with GitHub

augment UIDevice with value-typed device models, simulator detection, battery state, and hardware capabilities

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
4,733
Primary language
Swift
License
MIT
Repository last updated
Sep 22, 2026
On this page

Overview

DeviceKit is a Swift value-type replacement and complement for UIDevice. It exposes the current device model and family, simulator state, battery information, display metrics, Touch ID and Face ID availability, disk capacity, eSIM support, and other hardware characteristics.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Key features

Identify the current model, device family, and simulator state

Device.current returns the real or simulated device model, while properties such as isPhone, isPad, isPod, and isSimulator expose family and environment checks.

Sources: [2]

Inspect battery, display, sensors, storage, and other capabilities

The library exposes battery state and level, Low Power Mode, brightness and display metrics, Touch ID/Face ID support, disk capacity, and more. Version 5.9.0 also adds eSIM and dual-eSIM capability checks.

Sources: [2][4]

Best fit

Fits iOS apps that need UI or feature behavior based on device capabilities

It is useful for device-specific UI, diagnostics, support screens, and simulator exclusions without spreading UIDevice-related checks throughout the application.

Sources: [2]

Before adoption

Version 5.9.0 adds September 2026 devices, while its SwiftPM manifest requires iOS 13+

Version 5.9.0 adds iPhone 18 Pro/Pro Max, Apple Watch Series 12, Apple Watch Ultra 4, and related metadata. The README lists general support from iOS 11, but the 5.9.0 Package.swift declares iOS 13+, tvOS 13+, and watchOS 4+ for SwiftPM.

Sources: [4][2][3]

Official sources

  1. [1]devicekit/DeviceKit — GitHub repository(2026-10-06)
  2. [2]DeviceKit 5.9.0 — README(2026-10-06)
  3. [3]DeviceKit 5.9.0 — Package.swift(2026-10-06)
  4. [4]DeviceKit 5.9.0 release(2026-10-06)
  5. [5]DeviceKit MIT license(2026-10-06)
Supplemental curator note

DeviceKit fits iOS apps that need device-aware UI, diagnostics, or support information without scattered UIDevice checks. Version 5.9.0 adds the September 2026 iPhone and Apple Watch models.

Try it in 3 steps

  1. 1

    Add DeviceKit 5.9.0 with SwiftPM

    Pin version 5.9.0, including the September 2026 device updates.

    .package(url: "https://github.com/devicekit/DeviceKit.git", exact: "5.9.0")
  2. 2

    Read the current device

    Device.current returns the current hardware or simulator model.

    import DeviceKit let device = Device.current
  3. 3

    Inspect family and simulator state

    Use the same value to inspect the model, device family, and simulator state.

    print(device) print(device.isPhone) print(device.isSimulator)
Check the official README

Growth

Growth trends · Last 30 days

4,733 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
6
Open PRs
24

Development activity is still being collected.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • swift
  • ios
  • tvos
  • device
  • device-family
  • simulator
  • battery-level
  • battery-state
  • swiftpm
  • hacktoberfest
Stars
4,733
Forks
468
Watchers
77
Open issues
55
Contributors
51
Owner type
Organization
Primary language
Swift
License
MIT
Repository last updated
Sep 22, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?