2014-12-15 12 views
5

Il mio codice è:CMPedometer StepCounting non Disponibile

if ([CMPedometer isStepCountingAvailable]) { 

     self.pedometer = [[CMPedometer alloc] init]; 
    } 
    else { 
     NSLog(@"Step counting is not available on this device!"); 
     [SVProgressHUD showErrorWithStatus:@"Step counting is not available on this device!"]; 
    } 

quando l'eseguo su iOS 8 e dispositivi più tardi, si dice:

Passo conteggio non è disponibile su questo dispositivo!

Come posso renderlo disponibile per il conteggio dei passi?

+0

Qual è il dispositivo su cui si sta effettuando il test? – GenieWanted

+0

iphone 5 e iOS 8 –

+0

È accettato mostrare un messaggio all'utente in questo modo? Sto anche pensando di implementare lo stesso nella mia app solo per curiosità di sapere – anoop4real

risposta

7

Il codice è corretto e restituisce il risultato previsto. L'iPhone 5 non ha l'hardware (il chip Apple M7) per tracciare i passaggi, quindi il conteggio dei passi non è disponibile.

Hai bisogno di almeno un iPhone 5s

+0

Grazie per la risposta. Posso calcolare l'altezza usando il contapassi? –

+0

@Matthias Sto provando lo stesso codice nel mio iPhone 5S (anche in iPhone 5C) ma non funziona per me ...... è dovuto al fatto che il chip Apple M7 non è disponibile anche in questi dispositivi ?? –

+0

@Matthias come può Apple realizzare tale API che non è supportata da molti dispositivi ... a causa dell'hardware? Per favore, dimmi come posso implementare il conteggio dei passi usando CMPedometer o ci sono altri modi? –

1

iPhone 4S, 5 e 5c non hanno il co-processore M7 sensore di movimento in modo da non registrare passi. Gli iPhone 5s, 6 e 6 Plus hanno tutti un coprocessore di movimento.