CMPedometer queryPedometerDataFromDate devuelve el error 103

Estoy intentando hacer una consulta al caching del podómetro en un iPhone 6 con iOS 8.1.2, estoy usando el objective c, he importado el marco CoreMotion e incluido en el proyecto, el código se parece a este

NSDate *startDate = [[NSDate date] dateByAddingTimeInterval:-60*60*12]; NSDate *endDate = [NSDate date]; CMPedometer *pedo = [[CMPedometer alloc]init]; [pedo queryPedometerDataFromDate:startDate toDate:endDate withHandler:^(CMPedometerData *pedometerData, NSError *error) { if (error) { NSLog(@"error: %@", error); } }]; 

Esto me da el error: Error de dominio = CMErrorDomain Code = 103 "La operación no se pudo completar. (CMErrorDomain error 103.)"

Si hago exactamente lo mismo en Swift como este

 var dateString = "2014-12-15" var dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "YYYY-MM-DD" var startDate = dateFormatter.dateFromString(dateString) var endDate = NSDate() pedometer.queryPedometerDataFromDate(startDate, toDate: endDate){ (data, error) -> Void in if error != nil { println("There was an error requesting data from the pedometer: \(error)") } else { println(data) } } 

Recibo los datos del podómetro y no hay errores.

En ambos casos, acepto la window emergente que me indica que acepte la actividad física de seguimiento. He comprobado que la aplicación tiene acceso de lectura a los datos de actividad física en la configuration de anonimato.

¿Alguien puede explicar lo que estoy haciendo mal?

Debe mantener las variables de CMPedometer como una propiedad de su class, no como variables locales. Y luego funcionará.