A Swift library for detecting iOS device properties, OS versions, and managing screen sizes with helper utilities.
AssistantKit is a Swift library that provides tools for detecting iOS device properties, operating system versions, and managing screen sizes. It solves the problem of writing repetitive boilerplate code for device-specific logic and UI adaptation, offering a unified API for environment detection.
iOS developers building applications that need to adapt to different device models, screen sizes, or iOS versions, particularly those using Swift and CocoaPods.
Developers choose AssistantKit for its comprehensive device detection capabilities, clean Swift API, and utilities like screen family classification and iOS version comparison, which streamline responsive design and environment-aware code.
Easy way to detect iOS device properties, OS versions and work with screen sizes. Powered by Swift.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides an extensive Version enum with cases for exact device models like iPhone 5C and iPad Pro, along with helper properties like isPhone and isPad, simplifying device-specific logic.
Breaks screens into families (.old, .small, .medium, .big) and offers methods like Device.size(phone:pad:) to assign values based on device type or resolution, easing UI adaptation.
Includes constants like Device.os12 and comparison operators (e.g., Device.osVersion >= Device.os9) for runtime iOS version detection, reducing boilerplate code.
Accesses battery state and level with automatic monitoring enablement via Device.Battery.state and Device.Battery.level, as detailed in the Battery section.
The README specifies support for iOS 8-12 and Swift 4.2, which may not cover newer iOS versions or Swift 5+, limiting compatibility for modern projects.
Admits in the TODO that tvOS support is missing, and it's iOS-centric, so it's not suitable for cross-platform Apple development or other ecosystems.
Compared to alternatives like DeviceKit mentioned in the README, AssistantKit might have fewer updates and community contributions, potentially lagging behind new device releases.