акселерометр работает для симулятора iphone / ipad? - PullRequest
2 голосов
/ 04 мая 2010

Из того, что я могу сказать, мое приложение должно запускать события акселерометра, пока я использую симулятор iPad в XCode, но это не так.

Я гуглил и кажется, что акселерометр не реализован в симуляторе, это правильно? Если так, с какой стати у них будет опция меню «Hardware-> Shake Gesture»?

Мой код выглядит следующим образом:

.h файл:

@interface MyViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate, UIAccelerometerDelegate>{
    UIAccelerometer *accelerometer;
    //...other stuff
}
@property (nonatomic, retain) UIAccelerometer *accelerometer;
@end

, затем файл .m:

@implementation MyViewController
@synthesize accelerometer;
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
    NSLog(@"%@", [NSString stringWithFormat:@"%@%f", @"X: ", acceleration.x]);
    NSLog(@"%@", [NSString stringWithFormat:@"%@%f", @"Y: ", acceleration.y]);
    NSLog(@"%@", [NSString stringWithFormat:@"%@%f", @"Z: ", acceleration.z]);
}

- (void)viewDidLoad {
    [super viewDidLoad];
    self.accelerometer = [UIAccelerometer sharedAccelerometer];
    self.accelerometer.updateInterval = .1;
    self.accelerometer.delegate = self;
}
@end

Это выглядит правильно?

Ответы [ 2 ]

5 голосов
/ 04 мая 2010

В симуляторе нет ускорителя.

«Аппаратный жест встряхивания» генерируется прямой отправкой UIEvent активному приложению.

Несмотря на то, что Shake Gesture реализована с использованием ускорителя на устройстве, концептуально они представляют собой два разных типа ввода данных пользователем: жест - это событие, ускорение - это непрерывное изменение. Таким образом, пункт меню Shake Gesture существует для приложений, которые используют только такой жест (например, Shake to Undo), но не должны знать точный вектор ускорения.

1 голос
/ 04 мая 2010

Акселерометр не работает на iPhone / iPod Simulator. Ни «Hardware-> Shake Gesture» не используют акселерометр, ни изменение ориентации сафари на тренажере.

...