2014-12-15 9 views
5

Mein Code ist:CMPedometer StepCounting nicht verfügbar

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!"]; 
    } 

Wenn ich es auf iOS8 und später Geräten laufen, heißt es:

Schrittzählung auf diesem Gerät nicht verfügbar ist!

Wie kann ich es für die Schrittzählung verfügbar machen?

+0

Auf welchem ​​Gerät testen Sie? – GenieWanted

+0

iphone 5 und iOS 8 –

+0

Wird angenommen, dass dem Benutzer eine Nachricht angezeigt wird? Ich plane auch, das gleiche in meiner App zu implementieren, nur neugierig zu wissen, – anoop4real

Antwort

7

Ihr Code ist korrekt und liefert das erwartete Ergebnis. Das iPhone 5 verfügt nicht über die Hardware (den Apple M7-Chip), um die Schritte zu verfolgen, sodass die Schrittzählung nicht verfügbar ist.

Sie benötigen mindestens ein iPhone 5s

+0

Danke für die Antwort. Kann ich Elevation mit Schrittzähler berechnen? –

+0

@Matthias Ich versuche den gleichen Code in meinem iPhone 5S (auch in iPhone 5C), aber es funktioniert nicht für mich ...... ist es wegen der Tatsache, dass Apple M7-Chip nicht in diesen Geräten auch verfügbar? –

+0

@Matthias wie kann Apple so eine API machen, die von vielen der Geräte nicht unterstützt wird ... wegen der Hardware? Bitte sagen Sie mir, wie ich die Fußschrittzählung mit CMPedometer durchführen kann oder gibt es eine andere Möglichkeit? –

1

Das iPhone 4s, 5 und 5c nicht die M7-Bewegungs-Sensor-Koprozessor, so dass sie keine Schritte aufzeichnet. Das iPhone 5s, 6 und 6 Plus haben alle einen Motion-Co-Prozessor.