編集:グローバルを追加し、現在は機能しています。しかし、私はまだ疑問を持っています..読んでください:)
必要に応じて Y 軸で加速を実行し、コードのさまざまな部分で使用したいと考えています。この例では、テスト目的で while ループ内で使用しています。
私のコードは機能していますが、UpdateToQueue... メソッドを正しく使用していますか、それともこの種の「非正統的な」方法で目的を達成していますか?
更新間隔を 30 ミリ秒に設定しましたが、これは「安全な」更新間隔だと思いますか? 現在またはそれ以降のハードウェア/iOS の更新がそのような間隔に追いつかない可能性があるため、1 つを選択するときは注意する必要があると言われましたが、これは本当ですか?
double myAcceleration; // a global..
-(void) play // my "main" method..
{
CMMotionManager *motionManager = [[CMMotionManager alloc] init];
motionManager.deviceMotionUpdateInterval = 0.03; // update every 30ms
[motionManager startDeviceMotionUpdatesToQueue:[NSOperationQueue mainQueue]
withHandler:^(CMDeviceMotion *motion, NSError *error)
{
myAcceleration = motion.userAcceleration.y;
}
];
while(!self.stopButtonPressed)
{
NSLog(@"Y-Axis acceleration is %f", myAcceleration);
}
}