Попытка найти способ обнаружения присутствия M7.Как определить, присутствует ли M7, a.k.a это iPhone 5S или новее?
Бесполезно ли запрашивать класс CMStepCounter или CMMotionActivity, если M7 отсутствует? Я предполагаю, что на моделях без M7, имеющих iOS 7.0, эти классы получают данные, но не так эффективно & используют намного больше батареи.
Сырой путь будет:
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"]) {
}
На моделях без M7 (ничего, кроме 5S) эти классы, похоже, не получают данных. Они требуют микросхемы M7. Проверка работы isStepCountingAvailable или isActivityAvailable, как показано ниже, работает. – Jackson