Je commence à coder avec la classe DeviceMotion. Après avoir suivi les Documenation d'Apple, je donne les résultats suivants:iPhone Motion - EXC BAD ACCESS
- (void)viewDidLoad {
[super viewDidLoad];
myMM = [[CMMotionManager alloc] init];
myMM.deviceMotionUpdateInterval = 1.0/30.0;
theQ = [[NSOperationQueue currentQueue] retain];
motionHandler =^(CMDeviceMotion *motionData, NSError *error) {
if (motionData.rotationRate.z > 5.5 || motionData.rotationRate.z < -5.5) {
NSLog(@"Rotation of Z."); // Reference A
}
};
-(IBAction)toggleClick{
NSLog(@"toggle");
if(myMM.gyroAvailable){
if(myMM.deviceMotionActive){
NSLog(@"Stopping Motion Updates..");
[myMM stopDeviceMotionUpdates];
} else {
NSLog(@"Starting Motion Updates..");
[myMM startDeviceMotionUpdatesToQueue:theQ withHandler:motionHandler];
}
}
else {
NSLog(@"No motion available. Quit!");
}
Ce code fonctionne très bien, mais quand je veux faire tout code sauf un NSLog (même quelque chose d'aussi simple que incrémenter un entier) à la place du ' référence A ', je reçois un mauvais accès EXEC dans la console.
J'ai regardé autour de moi, et tout ce que j'ai trouvé, c'est que c'est une sorte de fuite de mémoire. Est-ce que quelqu'un sait ce qui se passe? Si non, comment puis-je comprendre? Je suis assez inexpérimenté avec les instruments, mais si je suis pointé dans la bonne direction, je serais très apprécié.
Vous, monsieur, êtes un génie. J'ai copié et collé et travaillé parfaitement. Je voterais, cependant je suis seulement 13 rep :(Merci et bonne action de grâce. –