CMPedometer queryPedometerDataFromDate gibt den Fehler 103 zurück.

Ich versuche, eine Abfrage zum Schrittzähler-Cache auf einem iPhone 6 mit iOS 8.1.2 durchzuführen. Ich verwende Objective-C. Ich habe das CoreMotion-Framework importiert und es in das Projekt aufgenommen. Der Code sieht folgendermaßen aus.

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);
     }
}];

Dies gibt mir den Fehler: Fehlerdomäne = CMErrorDomain-Code = 103 "Der Vorgang konnte nicht abgeschlossen werden. (CMErrorDomain-Fehler 103.)"

Wenn ich in Swift genau dasselbe mache wie hier

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)
        }
    }

Ich erhalte die Schrittzählerdaten und keine Fehler.

In beiden Fällen akzeptiere ich das Popup, in dem ich aufgefordert werde, die körperliche Aktivität zu akzeptieren. Ich habe überprüft, ob die App unter den Anonymitätseinstellungen Lesezugriff auf Daten zu körperlicher Aktivität hat.

ann jemand erklären, was ich falsch mach

Antworten auf die Frage(2)

Ihre Antwort auf die Frage