无法使用ios应用程序实现CMMotionManager

时间:2014-11-04 11:40:54

标签: ios accelerometer cmmotionmanager

如果我们倾斜设备,我正在尝试更改UILabel值,因为我正在尝试实现CMMotionManager但它不适用于我,这是我正在使用的代码,

我在lib中添加了CoreMotion。

#import <CoreMotion/CoreMotion.h>

 CMMotionManager *motionManager = [[CMMotionManager alloc] init];
    motionManager.accelerometerUpdateInterval = .2;

    [motionManager startAccelerometerUpdates];

    if ([motionManager isAccelerometerAvailable] == YES)
    {

        NSOperationQueue *queue = [[NSOperationQueue alloc] init];
        [queue setMaxConcurrentOperationCount:1];

        [motionManager startAccelerometerUpdatesToQueue:queue  withHandler:^(CMAccelerometerData *data, NSError *error)
         {

             CMAcceleration acceleration = data.acceleration;


             if(acceleration.y < -0.25) { // tilting the device to the right

                 [self setTextforlabel:@"right"];

             } else if (acceleration.y > 0.25) { // tilting the device to the left

                                  [self setTextforlabel:@"left"];
             }
         }];
    }

这里的问题是什么,isAccelerometerAvailable总是假的

startAccelerometerUpdatesToQueue它不会开火。

任何人都可以帮我这个或者有任何其他方法来做倾斜设备。

1 个答案:

答案 0 :(得分:0)

您是在设备上运行还是在刺激器加速度计中无法在刺激器中运行