Est-ce que iPhone3GS files d'attente de bloc de support?
-
27-10-2019 - |
Question
Je suis en cours d'exécution dans un problème avec une partie de mon code sur iPhone3GS en cours d'exécution iOS5.0
Le bloc suivant n'est exécuté , même si elle est appelée bien sur iPhone4 avec iOS5.0.
La déclaration de journal apparaît jamais, et le point d'arrêt ne se déclenche. J'ai vérifié, et à la fois le gestionnaire de mouvement et la file d'attente ne sont pas nulles.
[motionManager startDeviceMotionUpdatesToQueue:motionQueue withHandler:^(CMDeviceMotion *motion, NSError *error) {
NSLog(@"motion event received");
//...
}];
Suis-je manque quelque chose ou dois-je besoin de réécrire mon code pour travailler sans files d'attente de bloc
Merci pour toute entrée sur le ussue!
Mise à jour:
J'ai vérifié cette méthode, et cela fonctionne:
[motionManager startAccelerometerUpdatesToQueue:motionQueue withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) {
NSLog(@"accelerometerData event received");
}];
La solution
Cela n'a rien à voir avec les files d'attente de bloc. Je crois que votre problème est l'événement de mouvement dispositif nécessitent à la fois accéléromètre et gyroscope (et peut être interrogé avec -deviceMotionAvailable
), mais l'iPhone 3GS ne dispose pas d'un gyroscope. Ainsi, même les méthodes de mouvement de l'appareil à base non-bloc ne fonctionnera pas pour vous. Vous devriez regarder en voir si l'accéléromètre seul est suffisant pour vos besoins; sinon vous devrez limiter votre application pour exiger un gyromètre.