A watchOS library for detecting and handling shake gestures with customizable sensitivity and direction.
WatchShaker is a Swift library for Apple Watch that provides a simple API to detect shake gestures. It solves the problem of implementing motion-based interactions in watchOS apps by abstracting the complexity of Core Motion into an easy-to-use interface. Developers can quickly add shake detection with customizable sensitivity and direction tracking.
watchOS developers building applications that require motion-based user interactions, such as games, fitness apps, or utilities that benefit from gesture controls.
Developers choose WatchShaker because it offers a lightweight, well-documented solution specifically designed for watchOS shake detection, with multiple integration patterns and academic validation from its presentation at ICECCME 2024.
Experimental Shake Gesture Detection API for Apple Watch
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports SwiftUI @StateObject, closures, and delegate patterns, as shown in the README examples, allowing developers to choose the best fit for their app architecture.
Offers predefined shake sensibility levels and configurable delay intervals, enabling fine-tuning to reduce accidental triggers and match user interaction patterns.
Provides ShakeDirection enum for identifying up, down, left, or right shakes, with clear documentation and visual aids explaining how directions are determined.
Presented at ICECCME 2024 and available on IEEE Xplore, adding credibility and ensuring the library is backed by research and testing.
Only handles shake detection; other motion-based interactions like taps or continuous acceleration require separate implementations or additional libraries, limiting its scope.
Key documentation is hosted externally via a link, which might disrupt workflow for developers preferring integrated, offline, or quick-reference materials within the README.
Requires watchOS 7.0+ and Xcode 15.0+, potentially excluding projects targeting older Apple Watch models or development environments with legacy toolchains.