UIAccelerotmeterDelegate
yöntemi accelerometer:didAccelerate:
yöntemini kullanıyorum ancak son zamanlarda bu yöntem iOS 5.0'da kullanımdan kaldırıldı. Yani ivme verileri almak için alternatif yolu nedir? Belgeler, kullanmamız gereken alternatifi belirtmez.IOS'da ivme verileri nasıl alınır?
11
A
cevap
13
Core Motion framework (iOS 4.0'da tanımlı) yerine kullanmalısınız. Bir CMMotionManager
örneğini oluşturun ve 'a bildirin, bir NSOperationQueue
iletin ve yeni ivme verisi verisi olduğunda belirtilen sıraya uygulanacak bir bloğu iletin.
5
UIAccelerometer ve UIAccelerometerDelegate'in CoreMotion framework'ü ile değiştirildiği görülüyor.
Burada cevabını bulabilirsiniz:
Why is accelerometer:didAccelerate: deprecated in IOS5?
ben yardımcı olur.
3
Onun yerine CoreMotion
. Bakınız Motion Events.
4
this bağlantıdan CoreMotion için bulduğum kullanışlı bir örnek kod.
@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
Önce CoreMotion çerçevesini projeye ekleyin. Sonra:
#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);
}];
}
}
İlgili konular
- 1. jquery - xml verileri nasıl alınır
- 2. knpmenubundle: Oluşturucuda kullanıcı verileri nasıl alınır?
- 3. PHP'de akış verileri nasıl ele alınır?
- 4. Facebook/Spotify'tan müzik dinleme verileri nasıl alınır?
- 5. Bing Maps API'dan Trafik Verileri Nasıl Alınır?
- 6. Angular 2 Form Verileri Nasıl Alınır
- 7. MP3'ten ses verileri nasıl alınır?
- 8. http dosyası meta verileri nasıl alınır?
- 9. XMLHttpRequest() kullanırken python'da POST verileri nasıl alınır()
- 10. Mp3 ile depolanan meta verileri nasıl alınır?
- 11. ASP.NET MVC RC1'deki ViewResult'dan model verileri nasıl alınır?
- 12. Mapbox yol tarifi: sonuçtan yol tarifi verileri nasıl alınır
- 13. Bir facebook grubu gönderisinin kullanıcı verileri nasıl alınır? Orijinal Poster
- 14. Yay verileri jpa'da güncellenmiş kayıtların sayısı nasıl alınır?
- 15. Yay verileri kullanılarak neo4j'de yuvalanmış nesneler nasıl kaydedilir ve alınır
- 16. JSON verileri 100 farklı ancak benzer URL'den nasıl alınır
- 17. 3d İvmeölçer I 3 eksen için ivme değerlerine sahip
- 18. JTable'dan veri nasıl alınır?
- 19. Xcode simülatöründe ivme ölçer etkisini test edebilir miyim?
- 20. iOS'taki sunucudan veri nasıl alınır?
- 21. Console.app içine stdout nasıl alınır
- 22. Numaralandırma alt kümesi nasıl alınır
- 23. Riak'taki verileri nasıl sıralayabilirim?
- 24. GeoJson verileri nasıl oluşturulur?
- 25. almak nasıl sonrası verileri
- 26. Mysql verileri nasıl yazılır?
- 27. QDialog verileri nasıl aktarılır?
- 28. yüklenmesi nasıl verileri otomatik
- 29. Bir ADXL345 ivme ölçerden yalnızca eksen verileriyle hareketi belirlemek için Python'daki bir IF deyimini nasıl değiştirebilirim?
- 30. Mp3'den meta veriler nasıl alınır?