CMPedometer queryPedometerDataFromDate возвращает ошибку 103
Я пытаюсь сделать запрос к кешу шагомера на iPhone 6 с iOS 8.1.2, я использую target-c, я импортировал инфраструктуру CoreMotion и включил ее в проект, код выглядит так
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);
}
}];
Это дает мне ошибку: Ошибка Domain = CMErrorDomain Code = 103 «Операция не может быть завершена. (CMErrorDomain ошибка 103.)»
Если я сделаю то же самое в Swift, как это
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)
}
}
Я получаю данные шагомера и без ошибок.
В обоих случаях я принимаю всплывающее окно с просьбой принять отслеживание физической активности. Я дважды проверил, что приложение имеет доступ на чтение данных физической активности в настройках анонимности.
Может кто-нибудь объяснить, что я делаю не так?