Cố gắng tìm cách phát hiện M7 có mặt.Làm thế nào để phát hiện nếu M7 là hiện nay, a.k.a nó là một iPhone 5S hoặc mới hơn?
Có vô nghĩa khi truy vấn lớp CMStepCounter hoặc CMMotionActivity nếu M7 không có mặt không? Tôi đoán là trên các mô hình không phải M7 có iOS 7.0, các lớp này nhận được dữ liệu nhưng không hiệu quả như vậy & sử dụng nhiều pin hơn.
Một cách thô sẽ là:
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"]) {
}
Trên các mô hình không phải M7 (bất cứ thứ gì trừ 5S), các lớp đó dường như không nhận dữ liệu. Họ yêu cầu chip M7. Kiểm tra isStepCountingAvailable hoặc isActivityAvailable như dưới đây có vẻ hoạt động. – Jackson