• Stars
    star
    247
  • Rank 164,117 (Top 4 %)
  • Language
    Objective-C
  • Created over 9 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

CMMotionManager wrapper for react-native

Notice

I don't use this module anymore, and don't have time to maintain it. I've been handing out both github and npm write access to folks that seem interested, so feel free to ask.

react-native-motion-manager

CMMotionManager wrapper for react-native, exposing Accelerometer, Gyroscope, and Magnetometer.

Add it to your project

  1. npm install react-native-motion-manager@latest --save
  2. In XCode, in the project navigator, right click Libraries ➜ Add Files to [your project's name]
  3. Go to node_modules ➜ react-native-motion-manager and add RNMotionManager.xcodeproj
  4. In XCode, in the project navigator, select your project. Add libRNMotionManager.a to your project's Build Phases ➜ Link Binary With Libraries
  5. Click RNMotionManager.xcodeproj in the project navigator and go the Build Settings tab. Make sure 'All' is toggled on (instead of 'Basic'). Look for Header Search Paths and make sure it contains both $(SRCROOT)/../react-native/React and $(SRCROOT)/../../React - mark both as recursive.
  6. Run your project (Cmd+R)

Setup trouble?

If you get stuck, take a look at Brent Vatne's blog. He was gracious enough to help out on this project, and his blog is my go to reference for this stuff.

Api

Setup

var {
    Accelerometer,
    Gyroscope,
    Magnetometer
} = require('NativeModules');
var {
  DeviceEventEmitter // will emit events that you can listen to
} = React;

Accelerometer

Accelerometer.setAccelerometerUpdateInterval(0.1); // in seconds
DeviceEventEmitter.addListener('AccelerationData', function (data) {
  /**
  * data.acceleration.x
  * data.acceleration.y
  * data.acceleration.z
  **/
});
Accelerometer.startAccelerometerUpdates(); // you'll start getting AccelerationData events above
Accelerometer.stopAccelerometerUpdates();

Gyroscope

Gyroscope.setGyroUpdateInterval(0.1); // in seconds
DeviceEventEmitter.addListener('GyroData', function (data) {
  /**
  * data.rotationRate.x
  * data.rotationRate.y
  * data.rotationRate.z
  **/
});
Gyroscope.startGyroUpdates(); // you'll start getting GyroscopicData events above
Gyroscope.stopGyroUpdates();

Magnetometer

Magnetometer.setMagnetometerUpdateInterval(0.1); // in seconds
DeviceEventEmitter.addListener('MagnetometerData', function (data) {
  /**
  * data.magneticField.x
  * data.magneticField.y
  * data.magneticField.z
  **/
});
Magnetometer.startMagnetometerUpdates(); // you'll start getting MagnetomerData events above
Magnetometer.stopMagnetometerUpdates();

Example

This repo contains an example react-native app to help get you started. Source code here.

More Repositories

1

node-travis-ci

node library to access the Travis-CI API
JavaScript
76
star
2

node-travis-encrypt

node module to encrypt environment variables for travis-ci
JavaScript
46
star
3

generator-travis-ci

Yeoman generator for travis-ci setup [available for Yeoman >= 1.0 beta]
JavaScript
30
star
4

react-validator-prop-types

proptype wrappers around validator.js functions
JavaScript
22
star
5

swagger-models-to-react-proptypes

CLI that consumes a swagger endpoint and spits out React propType definitions.
JavaScript
21
star
6

feedmixalot

rss feed aggregator
JavaScript
14
star
7

til

Today I Learned
JavaScript
9
star
8

react-native-activity-indicator-ios

ActivityIndicatorIOS wrapper that waits a second.
JavaScript
9
star
9

react-transform-style

React Transform adding support for 'className' and 'style' props on all components
JavaScript
5
star
10

console-error-throws-error

throw console.error arguments
JavaScript
5
star
11

mduel

marshmallow duel
JavaScript
5
star
12

node-travis-lint

JavaScript
5
star
13

node-npm-license-walker

output the license of a package, and all dependencies
JavaScript
3
star
14

react-transform-noop

React Transform that does nothing
JavaScript
3
star
15

fluxible-hooks

JavaScript
3
star
16

todium

JavaScript
2
star
17

node-bunyan-promise

Bunyan formatted tracking of outstanding promises, progress, errors, and resolution times
JavaScript
2
star
18

nodupdeps

ensure that there is only a single version of a dependency required
JavaScript
1
star
19

react-starter-kit

JavaScript
1
star
20

todium-torrent

server that changes non-infodict values on the fly and serves the edited torrent
JavaScript
1
star
21

fluxible-context

JavaScript
1
star
22

rocambole-strip-alert

JavaScript
1
star
23

same-author

Test to see if a file was written by you. Useful for babel/webpack conditional loading.
JavaScript
1
star
24

grunt-bunyan

grunt task that pipes your other grunt tasks' output through the bunyan cli
JavaScript
1
star