Ich verwende die UIAccelerotmeterDelegate
Methode accelerometer:didAccelerate:
, aber diese Methode wurde kürzlich in iOS 5.0 veraltet. Was ist der alternative Weg, um die Beschleunigungsmesserdaten zu erhalten? Die Dokumentation erwähnt nicht die Alternative, die wir verwenden sollen.Wie bekomme ich Beschleunigungsmesserdaten in IOS?
Antwort
Sie sollten die Core Motion framework (eingeführt in iOS 4.0) als Ersatz verwenden. Erstellen Sie eine Instanz von CMMotionManager
und teilen Sie sie startAccelerometerUpdatesToQueue:withHandler:
mit. Geben Sie ihr NSOperationQueue
und einen Block, der in der angegebenen Warteschlange ausgeführt wird, sobald neue Beschleunigungsmesserdaten verfügbar sind.
Es scheint, dass UIAccelerometer und UIAccelerometerDelegate durch das CoreMotion-Framework ersetzt wurden.
Sie können die Antwort finden Sie hier:
Why is accelerometer:didAccelerate: deprecated in IOS5?
Ich hoffe, es hilft.
Es wird durch CoreMotion
ersetzt. Siehe Motion Events.
Hier ist ein nützlicher Beispielcode, den ich für CoreMotion von this Link gefunden habe.
@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
Fügen Sie das CoreMotion-Framework zuerst dem Projekt hinzu. Dann:
#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. Wie bekomme ich System-Icons in iOS
- 2. Filtern von Beschleunigungsmesserdaten Rauschen
- 3. Wie bekomme ich rootviewcontroller ios storyboard
- 4. Wie bekomme ich INFOPLIST_FILE Name iOS
- 5. Wie bekomme ich lokale Zeit auf iOS
- 6. Wie bekomme ich Facebook Fotoalben für iOS?
- 7. iOS: Wie bekomme ich die ServiceBundle Header für iOS 9?
- 8. Wie bekomme ich Sqlite Connection in Xamarin Forms in iOS?
- 9. Wie bekomme ich sharedApplication in Swift auf iOS?
- 10. Wie bekomme ich Künstler, Album usw. einer Musik in iOS
- 11. Wie bekomme ich den Primärschlüssel des Kerndatenwertes in ios Swift?
- 12. Wie bekomme ich alle Sonntage in Array von Datum ios
- 13. Wie bekomme ich diese Leiste in Safari auf iOS 6?
- 14. Wie bekomme ich den aktuellen Standort in Swift iOS Programmierung?
- 15. Wie bekomme ich die Systemschrift in einer iOS App?
- 16. Wie bekomme ich UIBezierpath mit Glyph in iOS SDK
- 17. Wie bekomme ich Übereinstimmungen in iOS mit regulärem Ausdruck?
- 18. Wie bekomme ich eine Liste der Länder in Swift ios?
- 19. Wie bekomme ich die Tastaturgröße eines Drittanbieters in iOS 8?
- 20. iOS | Wie bekomme ich Laufzeit Breite/Höhe in Swift
- 21. Extrahieren von Beschleunigungsmesserdaten von Microsoft Band
- 22. Beschleunigungsmesserdaten von Verschleiß zu Handy senden
- 23. PhoneGap iOS, wie bekomme ich App "Dokumente" Ordner vollständigen Pfad?
- 24. iOS bekomme UTC Timestamp
- 25. Wie bekomme ich den WiFi Verschlüsselungsmodus auf iOS/iPhone/iPad?
- 26. iOS: Wie bekomme ich einen richtigen Monatsnamen von einer Nummer?
- 27. Wie bekomme ich ein Update NSUserDefault auf iOS 4?
- 28. iOS: Wie bekomme ich den Weg zwischen zwei Koordinaten?
- 29. Wie bekomme ich CUPS auf ein iOS-Gerät?
- 30. Wie bekomme ich eine undurchsichtige UINavigationBar auf iOS 7?