Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Use the startAccelerometerUpdatesToQueue:withHandler:
instance method of CMMotionManager. Here
is the header file of a view controller that utilizes CMMotionManager to get accelerometer
updates:
#import <UIKit/UIKit.h> #import <CoreMotion/CoreMotion.h> @interface Retrieving_Accelerometer_DataViewController : UIViewController @property (nonatomic, strong) CMMotionManager *motionManager; @end
We will now implement our view controller and take advantage of
the startAccelerometerUpdatesToQueue:withHandler:
method of the CMMotionManager
class:
#import "Retrieving_Accelerometer_DataViewController.h"
@implementation Retrieving_Accelerometer_DataViewController
@synthesize motionManager;
- (void)viewDidLoad{
[super viewDidLoad];
self.motionManager = [[CMMotionManager alloc] init];
if ([self.motionManager isAccelerometerAvailable]){
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[self.motionManager
startAccelerometerUpdatesToQueue:queue
withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) {
NSLog(@"X = %.04f, Y = %.04f, Z = %.04f",
accelerometerData.acceleration.x,
accelerometerData.acceleration.y,
accelerometerData.acceleration.z);
}];
} else {
NSLog(@"Accelerometer is ....