react-native-motion-managerCMMotionManager包装器
react-native-motion-manager 是 CMMotionManager 对 react-native 的封装, 是 React Native 的动力传感器(加速计,陀螺计,磁力计)组件。
添加到你的项目:
-
npm install react-native-motion-manager@latest --save -
在 XCode 的项目导航右击
Libraries➜Add Files to [your project's name] -
转到
node_modules➜react-native-motion-manager然后添加RNMotionManager.xcodeproj -
在 XCode 项目导航选择你的项目,添加
libRNMotionManager.a到你项目的Build Phases➜Link Binary With Libraries -
在项目导航中点击
RNMotionManager.xcodeproj然后转向Build Settings标签。确保 'All' 勾选上 (替代 'Basic')。查看Header Search Paths确保它包括$(SRCROOT)/../react-native/React和$(SRCROOT)/../../React- ,把两个都标记为recursive -
运行你的项目 (
Cmd+R)
Api
安装
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 AccelerationData events above
Gyroscope.stopGyroUpdates();
Magnetomer
Magnetometer.setAccelerometerUpdateInterval(0.1); // in seconds
DeviceEventEmitter.addListener('MagnetometerData', function (data) {
/**
* data.magneticField.x
* data.magneticField.y
* data.magneticField.z
**/
});
Magnetometer.startMagnetometerUpdates(); // you'll start getting AccelerationData events above
Magnetometer.stopMagnetometerUpdates();评论
