2015-01-26 25 views
9

Całkowicie walczę o to, by CMPedometer zwrócił dane krokowe. Jednak Iconfigure dostaję Error Domain=CMErrorDomain Code=103 "The operation couldn’t be completed. (CMErrorDomain error 103.)"Co oznacza błąd CMErrorDomain 103.? (CMPedometer)

Używam szybkiego i zepsuł zapytanie queryPedometerDataFromDate, aby być tak proste, jak to możliwe.

let pedometer = CMPedometer() 
    let fromDateString = "2015-01-22" 
    let toDateString = "2015-01-23" 
    let dateFormatter = NSDateFormatter() 
    dateFormatter.dateFormat = "YYYY-MM-DD" 
    let fromDate = dateFormatter.dateFromString(fromDateString) 
    let toDate = dateFormatter.dateFromString(toDateString) 

    pedometer.queryPedometerDataFromDate(fromDate, toDate: toDate) { (data:CMPedometerData!, error:NSError!) -> Void in 

     if error == nil { 
      println(data) 
     } else { 
      println(error) 
     } 
    } 

Mam włączone wykrywanie ruchu dla mojej aplikacji i nie mam problemu z pobraniem podobnych danych z HealthKit.

Pewnie brakuje mi czegoś prostego, ale nie widzę, co to jest!

+0

Musisz zdefiniować obiekt CMPedometer jako właściwość zamiast zmiennej lokalnej –

Odpowiedz

15

Ok, więc po kolejnym dniu badań. Obiekt CMPedometer musisz mieć jako zmienną globalną dla swojej klasy. Jeśli zostanie zdefiniowana jako zmienna lokalna, jak w pytaniu, nie będzie działać. Po prostu dodanie let pedometer = CDPedometer() na poziomie klasy rozwiąże ten problem.