试图找到一种方法来检测M7的存在。如何检测M7是否存在,又如iPhone 5S或更新?
如果M7不存在,查询CMStepCounter或CMMotionActivity类没有意义吗?我的猜测是,在iOS7的非M7机型上,这些类可以获得数据,但不会有效地使用更多的电池。
粗的办法是:
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