एम 7 मौजूद होने का पता लगाने का एक तरीका खोजने का प्रयास कर रहा है।यह पता लगाने के लिए कि क्या M7 मौजूद है, a.k.a यह एक आईफोन 5 एस या नया है?
क्या एम 7 मौजूद नहीं है तो सीएमएसटीप काउंटर या सीएममोशनएक्टिविटी क्लास से पूछताछ करना व्यर्थ है? मेरा अनुमान है कि आईओएस 7.0 वाले गैर एम 7 मॉडल पर, इन कक्षाओं को डेटा मिलता है लेकिन कुशलता से & बहुत अधिक बैटरी का उपयोग नहीं करता है।
एक कच्चे तरीका होगा:
if ([CMStepCounter isStepCountingAvailable]) {
// The device supports step counting
} else {
// The device does not support step counting
}
if ([CMMotionActivityManager isActivityAvailable]) {
// You can use CMMotionActivity
} else {
// Nope, not supported
}
बेशक यह केवल API iOS 7 या बाद पर है:
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"]) {
}
गैर एम 7 मॉडल (5 एस के अलावा कुछ भी) पर उन वर्गों को डेटा नहीं लगता है। उन्हें एम 7 चिप की आवश्यकता होती है। या तो isStepCounting उपलब्ध है या isActivity उपलब्ध है नीचे जैसा लगता है काम करता है। – Jackson