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中只調用一次。我什麼都沒有。