2015-01-26 16 views
9

Sto faticando completamente per ottenere CMPedometer per restituire tutti i dati di passaggio. Comunque Iconfigure I get Error Domain=CMErrorDomain Code=103 "The operation couldn’t be completed. (CMErrorDomain error 103.)"Che cosa significa errore CMErrorDomain 103.? (CMpedometro)

Sto usando swift e ho suddiviso la query queryPedometerDataFromDate per essere il più semplice possibile.

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

Ho abilitato il rilevamento del movimento per la mia app e non ho problemi a ottenere dati simili da HealthKit.

Mi manca qualcosa di semplice, ma non riesco a vedere cosa sia!

+0

È necessario definire l'oggetto di CMPedometer come proprietà anziché come variabile locale –

risposta

15

Ok, quindi dopo un altro giorno di ricerca. Devi avere l'oggetto CMPedometer come variabile globale per la tua classe. Se è definito come una variabile locale come nella domanda, non funzionerà. Aggiungendo semplicemente let pedometer = CDPedometer() a livello di classe si risolverà questo problema.