Cercando di trovare un modo per rilevare M7 presente.Come rilevare se M7 è presente, a.k.a è un iPhone 5S o più recente?
È inutile interrogare la classe CMStepCounter o CMMotionActivity se M7 non è presente? La mia ipotesi è che su modelli non M7 con iOS 7.0, queste classi ottengano dati ma non in modo efficiente. & utilizzano molta più batteria.
Un modo greggio potrebbe essere:
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"]) {
}
Sui modelli non M7 (tranne il 5S) tali classi non sembrano ricevere dati. Richiedono il chip M7. Il controllo di istepCountingAvailable o isActivityAvailable come di seguito sembra funzionare. – Jackson