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();
评论