devicekit/devicekit

DeviceKit is a value-type replacement of UIDevice.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 16 minutes ago
Type:Library / SDKCategory(s):iOS & macOSMobile & Desktop
Added to GitGenius on September 14th, 2026
Created on February 22nd, 2015
Open Issues & Pull Requests: 81 (+0)
GitHub issues: Enabled
Number of forks: 465
Total Stargazers: 4,731 (+0)
Total Subscribers: 77 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.9 days
Mean response time: 93.5 days
90th percentile: 209.7 days
Tracked items: 44

Most active contributors

Sign in to see contributor activity.

How this project is maintained

100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 76% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 27
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 529 days
Stale 30+ days: 25
Stale 90+ days: 23

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (1)
  • enhancement (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

DeviceKit is a value-type replacement for UIDevice that provides a Swift-native interface for querying device information on iOS, tvOS, and watchOS platforms.

The tool solves the problem of accessing device metadata through Apple's UIDevice class by offering a type-safe, equatable alternative. It wraps device identification, hardware capabilities, and system state into a single queryable interface. Rather than calling methods on a shared singleton, DeviceKit lets you work with device information as a value type, enabling easier testing and more predictable behavior.

Developers should choose this tool if they need reliable device identification, battery state monitoring, or detection of hardware capabilities like biometric sensors and Apple Pencil support. It suits any iOS, tvOS, or watchOS project that requires querying device characteristics without the limitations of UIDevice. The tool supports multiple installation methods including Swift Package Manager, CocoaPods, Carthage, and manual integration, making it flexible for different project setups.

The project maintains active support across Swift versions with documented compatibility branches. Development includes regular updates to device model identifiers sourced from established reference databases and Xcode simulator bundles, ensuring accuracy as new hardware releases occur. The codebase accepts community contributions through pull requests and issue tracking, with a transparent contributor acknowledgment system.