An easy-to-use iOS haptic feedback generator with pattern-play support for custom vibration sequences.
Haptico is an iOS library that provides a simple API for generating haptic feedback and custom vibration patterns in Swift applications. It solves the problem of implementing tactile user feedback by abstracting Apple's haptic APIs into easy-to-use methods for notifications, impacts, and pattern-based sequences.
iOS developers building applications that require tactile feedback for notifications, UI interactions, or immersive experiences, particularly those targeting iPhone 7 and later devices.
Developers choose Haptico for its dead-simple API, pattern-play feature for custom haptic sequences, and built-in UI extensions that reduce boilerplate code compared to using lower-level haptic APIs directly.
Haptico 📳 - easy to use haptic feedback generator with pattern-play support
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 single method calls for success, warning, and error notifications, reducing boilerplate code compared to Apple's lower-level APIs.
Enables custom haptic sequences via a string-based language (e.g., '..oO-Oo..'), allowing for unique and immersive feedback designs not easily achievable with standard APIs.
Includes HapticoButton and UIAlertController extensions for automatic haptic integration, speeding up UI development without manual code for common interactions.
Falls back to standard vibration on devices without a haptic engine (pre-iPhone 7), ensuring basic functionality across all supported iOS versions.
Does not expose advanced haptic parameters from Apple's UIFeedbackGenerator, restricting developers from fine-tuning intensity, duration, or accessing newer haptic types introduced in later iOS versions.
Pattern play and impact feedbacks are only available on iOS 10+ and iPhone 7 or later, meaning features are degraded or absent on older hardware, limiting app consistency.
Relies on Haptico.shared() for access, which can complicate testing, dependency injection, and modular codebases that favor non-singleton patterns.
The README is concise but lacks detailed examples for error handling, advanced pattern creation, or integration with modern SwiftUI, requiring trial and error for edge cases.