私はUIAccelerotmeterDelegate
方法accelerometer:didAccelerate:
を使用していますが、最近、そのメソッドは、iOS 5.0で廃止されました。だから、加速度計のデータを取得する別の方法は何ですか?ドキュメントには、私たちが使用するはずの代替案は記載されていません。IOSの加速度計データを取得するには?
11
A
答えて
13
あなたはsubstitueとして(のiOS 4.0で導入された)Core Motion frameworkを使用する必要があります。 CMMotionManager
のインスタンスを作成してstartAccelerometerUpdatesToQueue:withHandler:
に伝え、NSOperationQueue
と新しい加速度計データが利用可能になるたびに指定されたキューで実行されるブロックを渡します。
5
UIAccelerometerとUIAccelerometerDelegateがCoreMotionフレームワークによって置き換えられたようです。
あなたはここで答えを見つけることができます。
Why is accelerometer:didAccelerate: deprecated in IOS5?
私はそれがお役に立てば幸いです。
3
CoreMotion
で置き換えられました。 Motion Eventsを参照してください。
4
CoreMotionで見つけた便利なサンプルコードはthisです。
@interface ViewController()
@property (nonatomic, strong) CMMotionManager *motionManager;
@property (nonatomic, strong) IBOutlet UILabel *xAxis;
@property (nonatomic, strong) IBOutlet UILabel *yAxis;
@property (nonatomic, strong) IBOutlet UILabel *zAxis;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.motionManager = [[CMMotionManager alloc] init];
self.motionManager.accelerometerUpdateInterval = 1;
if ([self.motionManager isAccelerometerAvailable])
{
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[self.motionManager startAccelerometerUpdatesToQueue:queue withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
self.xAxis.text = [NSString stringWithFormat:@"%.2f",accelerometerData.acceleration.x];
self.yAxis.text = [NSString stringWithFormat:@"%.2f",accelerometerData.acceleration.y];
self.zAxis.text = [NSString stringWithFormat:@"%.2f",accelerometerData.acceleration.z];
});
}];
} else
NSLog(@"not active");
}
@end
1
最初にプロジェクトにCoreMotionフレームワークを追加します。その後:
#import <CoreMotion/CoreMotion.h>
@property (strong, nonatomic) CMMotionManager *motionManager;
- (void)viewDidLoad {
_motionManager = [CMMotionManager new];
_motionManager.accelerometerUpdateInterval = 0.01; // 0.01 = 1s/100 = 100Hz
if ([_motionManager isAccelerometerAvailable])
{
NSOperationQueue *queue = [NSOperationQueue new];
[_motionManager startAccelerometerUpdatesToQueue:queue withHandler:^(CMAccelerometerData *accelerometerData, NSError *error){
NSLog(@"X = %0.4f, Y = %.04f, Z = %.04f",
accelerometerData.acceleration.x,
accelerometerData.acceleration.y,
accelerometerData.acceleration.z);
}];
}
}
関連する問題
- 1. 加速度計のデータを取得してMacに送信
- 2. 離散加速度計データからの距離と速度の取得
- 3. iOS - 加速度計のハイパスフィルタの式
- 4. 加速度計の速度
- 5. Android:加速度計とジャイロスコープから同時にデータを取得する
- 6. Delphi XE2のiOS加速度計にアクセスするには?
- 7. IOS加速度計/ジャイロスコープの質問
- 8. アンドロイド加速度計からの傾斜角度を取得
- 9. 加速度計のデータをiOSのバックグラウンドで保存する方法は?
- 10. iPhone加速度計データを使用して画像のトップダウンビューを取得
- 11. 加速度計を使って速度を計算する
- 12. インターネット速度を取得する(WIFI&データ)
- 13. ADXL345加速度計データ出力変換
- 14. Android加速度計の角度計算
- 15. BLE加速度計
- 16. FFT加速度計
- 17. 加速度計ホイップモーション
- 18. Android加速度計
- 19. pythonで3D加速度計ファイルのスペクトログラムを取得する方法は?
- 20. 加速度計入力の取得 - Defold Engine
- 21. iOSの加速度計で歩数を計算するCMPedometerの代替
- 22. iOS 4加速度計/ジャイロスコープのデータ収集のためのテストケースの作成
- 23. 加速度計のデータとシェアを記録する
- 24. アンドロイド加速度計のスローダウン
- 25. 加速度計のアプリケーションコーディングヘルプ?
- 26. 加速度計のサンプルプロジェクト
- 27. Android加速度計のサンプリングレート
- 28. IOS iphone加速度計の重力の影響を取り除く
- 29. iOS加速度計の映像を録画
- 30. 加速度計は、ここに