1
我已经阅读了关于CMMotion的Apple文档以及为了NSLog加速计数据所需完成的一切,似乎是在我的应用程序中完成的。但是,当我运行我的应用程序并翻转屏幕时,没有从加速度计返回的数据。我没有运行时错误。这里是我的代码:加速度计不工作
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
ad = [[CMMotionManager alloc] init];
//[ad startDeviceMotionUpdates];
[ad startAccelerometerUpdates];
//Returns Null
NSLog(@"Accelerometer Data %@", ad.accelerometerData);
BOOL accelerometerAvailable = ad.isAccelerometerAvailable?YES:NO;
// Returns false, else statement is logged
if(accelerometerAvailable) {
NSLog(@"I guess it is...");
} else {
NSLog(@"I guess it is not...");
}
[ad startAccelerometerUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) {
NSLog(@"Your accelerometer data is: %@", accelerometerData.acceleration);
}];
}
我试图将此代码添加到我的另一个应用程序,返回上一个时间间隔的数据,以确保我没有得到数据的原因是因为viewDidLoad中只调用一次。我什么都没有。