Lightweight Cocoa library for detecting Apple device models, screen sizes, and chip types across iOS, macOS, watchOS, and tvOS.
SDVersion is a lightweight Cocoa library that detects the exact model, screen size, and chip type of Apple devices running iOS, macOS, watchOS, or tvOS. It solves the problem of needing to tailor app behavior, layouts, or features based on specific hardware capabilities without relying on fragile screen scale or manual checks.
Apple platform developers (iOS, macOS, watchOS, tvOS) who need to implement device-specific logic, optimize user interfaces for different screen sizes, or adjust features based on hardware capabilities like Apple Silicon chips.
Developers choose SDVersion for its comprehensive device coverage across all Apple platforms, simple API, and lightweight design—providing reliable hardware detection without unnecessary dependencies or complexity.
:iphone: Lightweight Cocoa library for detecting the running device's model and screen size.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The README lists extensive support for all Apple devices up to iPhone 16, Apple Watch Series 10, and M4 chips, ensuring accurate detection across iOS, macOS, watchOS, and tvOS.
It provides straightforward methods like deviceVersion() and deviceSize() that abstract complex detection logic, as shown in the usage examples for both Objective-C and Swift.
Includes a Privacy Manifest for App Store compliance and uses the utsname system call that doesn't require privacy declarations, reducing submission hurdles.
Offers separate libraries (e.g., SDiOSVersion, SDMacVersion) per platform, allowing lightweight, targeted integration without unnecessary bloat.
The library requires manual updates for new device models, as indicated by contributing guidelines, which can lag behind Apple's release cycle and demand developer maintenance.
While it supports Swift, the core API is Objective-C-based, which may feel outdated for modern SwiftUI projects and introduce interoperability overhead.
It exclusively targets Apple platforms, so it's useless for hybrid or cross-platform apps that need detection on Android, Windows, or web environments.