【问题标题】:Accelerometer Isn't working加速度计不工作
【发布时间】:2012-07-23 15:09:00
【问题描述】:

我已经阅读了 Apple 关于 CMMotion 的文档,并且为了 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 只调用了一次。我还是一无所获。

【问题讨论】:

    标签: accelerometer cmmotionmanager


    【解决方案1】:

    我的错误在这里。这个问题源于我使用 iOS 模拟器运行我的应用程序。显然,加速度计在其中不起作用。我假设因为抖动和旋转事件是允许的,所以它们适用于加速度计。但是,它们仅用于屏幕的重新定位,与加速度计无关。如果 Apple 将其包含在其文档中会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多