Próba znalezienia sposobu wykrywania obecności M7.Jak wykryć obecność M7, a.k.a czy jest to iPhone 5S lub nowszy?
Czy nie ma sensu zapytanie do klasy CMStepCounter lub CMMotionActivity, jeśli nie ma M7? Domyślam się, że na modelach innych niż M7 mających iOS 7.0 te klasy uzyskują dane, ale nie tak skutecznie & zużywają o wiele więcej baterii.
Surowy sposób byłoby:
struct utsname systemInfo;
uname(&systemInfo);
model = [[NSString alloc] initWithCString:systemInfo.machine
encoding:NSUTF8StringEncoding];
version = [[NSString alloc] initWithString:[[UIDevice currentDevice] systemVersion]];
if ([model compare:@"iPhone6,1"]) {
}
W modelach innych niż M7 (oprócz 5S) te klasy nie wydają się otrzymywać danych. Wymagają układu M7. Sprawdzanie wartości isStepCountingAvailable lub isActivityAvailable jak poniżej wydaje się działać. – Jackson