A Swift wrapper for iOS CoreMotion that simplifies accessing accelerometer, gyroscope, and magnetometer data with minimal code.
MotionKit is an open-source iOS library that provides a simplified wrapper around Apple's CoreMotion framework. It allows developers to easily access data from device sensors like the accelerometer, gyroscope, and magnetometer with minimal code, reducing the complexity typically involved in handling raw motion data. The library supports both Swift and Objective-C, offering asynchronous operations and flexible data retrieval methods.
iOS developers building applications that require motion sensing, such as fitness apps, games, augmented reality experiences, or any app leveraging device orientation and movement.
Developers choose MotionKit because it dramatically reduces the boilerplate code needed to work with CoreMotion, provides a clean and intuitive API, and ensures efficient performance with asynchronous operations. Its compatibility with both Swift and Objective-C makes it versatile for diverse iOS projects.
Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple :octocat: :satellite:
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Reduces CoreMotion boilerplate to just a few lines of code for accessing accelerometer, gyroscope, and magnetometer data, as shown in the README examples with closures and delegates.
Fully compatible with both Swift and Objective-C, allowing seamless integration into mixed-language iOS projects without extra setup.
Runs all sensor methods in their own queues to prevent UI blocking, ensuring smooth app operation during data retrieval.
Provides direct access to refined values like user acceleration, gravity, and attitude from the device motion object, eliminating manual data processing.
The README's TODO list explicitly states that background functionality is not yet implemented, limiting apps that need motion updates when in the background, such as fitness trackers.
Admits in the TODO with 'Add More Methods', suggesting that some CoreMotion features may not be fully abstracted or available, requiring workarounds.
Encourages use of a single CMMotionManager instance, which could lead to conflicts or inefficiencies in apps with complex motion data flows if not carefully managed.