मैं कैसे पता लगा सकता हूं कि कोई उपयोगकर्ता आईफोन 4 या 3 जी/3 जीएस पर एप्लिकेशन चला रहा है या नहीं?आईफोन - मैं आईफोन संस्करण का पता कैसे लगा सकता हूं?
मुझे हार्डवेयर का पता लगाने की आवश्यकता है, आईओएस संस्करण नहीं।
किसी भी मदद के लिए धन्यवाद।
मैं कैसे पता लगा सकता हूं कि कोई उपयोगकर्ता आईफोन 4 या 3 जी/3 जीएस पर एप्लिकेशन चला रहा है या नहीं?आईफोन - मैं आईफोन संस्करण का पता कैसे लगा सकता हूं?
मुझे हार्डवेयर का पता लगाने की आवश्यकता है, आईओएस संस्करण नहीं।
किसी भी मदद के लिए धन्यवाद।
इस वर्ग का उपयोग करने के लिए स्वतंत्र महसूस - मैंने पाया यह here
प्रयोग
UIDeviceHardware *h=[[UIDeviceHardware alloc] init];
[self setDeviceModel:[h platformString]];
[h release];
UIDeviceHardware.h
//
// UIDeviceHardware.h
//
// Used to determine EXACT version of device software is running on.
#import <Foundation/Foundation.h>
@interface UIDeviceHardware : NSObject
- (NSString *) platform;
- (NSString *) platformString;
@end
UIDeviceHardware.m
//
// UIDeviceHardware.m
//
// Used to determine EXACT version of device software is running on.
#import "UIDeviceHardware.h"
#include <sys/types.h>
#include <sys/sysctl.h>
@implementation UIDeviceHardware
- (NSString *) platform{
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithCString:machine];
free(machine);
return platform;
}
- (NSString *) platformString{
NSString *platform = [self platform];
if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 1G";
if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G";
if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS";
if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G";
if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G";
if ([platform isEqualToString:@"i386"]) return @"iPhone Simulator";
return platform;
}
@end
मेरे उत्तर से काफी बेहतर है, लेकिन किसी को इसे आईफोन 4 पर चलाने की ज़रूरत है और देखें कि उस मॉडल के लिए मशीन स्ट्रिंग क्या है। मुझे लगता है कि यह "iPhone3,1" हो सकता है। –
+1 अच्छा बिंदु। मैं अब बहुत थक गया हूं, लेकिन मैं कल कोशिश करूँगा और परिणाम पोस्ट करूंगा - जब तक कि कोई मुझे इसे मारता है – SeniorShizzle
मैं सिर्फ hw.machine (और hw.model) का उपयोग करता हूं। आईफोन 1,1 को "मूल आईफोन" या "आईफोन 2 जी" (अनौपचारिक) के रूप में भी जाना जाता है और ऐप्पल "आईपॉड टच 2 पीढ़ी" और "आईपॉड टच 3 पीढ़ी" सूचीबद्ध करता है, जिनमें से एक यहां गायब है (संभवतः आईपॉड 2,2) –
#import <sys/utsname.h>
+ (NSString*)deviceModelName {
struct utsname systemInfo;
uname(&systemInfo);
NSString *modelName = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
if([modelName isEqualToString:@"i386"]) {
modelName = @"iPhone Simulator";
}
else if([modelName isEqualToString:@"iPhone1,1"]) {
modelName = @"iPhone";
}
else if([modelName isEqualToString:@"iPhone1,2"]) {
modelName = @"iPhone 3G";
}
else if([modelName isEqualToString:@"iPhone2,1"]) {
modelName = @"iPhone 3GS";
}
else if([modelName isEqualToString:@"iPhone3,1"]) {
modelName = @"iPhone 4";
}
else if([modelName isEqualToString:@"iPhone4,1"]) {
modelName = @"iPhone 4S";
}
else if([modelName isEqualToString:@"iPod1,1"]) {
modelName = @"iPod 1st Gen";
}
else if([modelName isEqualToString:@"iPod2,1"]) {
modelName = @"iPod 2nd Gen";
}
else if([modelName isEqualToString:@"iPod3,1"]) {
modelName = @"iPod 3rd Gen";
}
else if([modelName isEqualToString:@"iPad1,1"]) {
modelName = @"iPad";
}
else if([modelName isEqualToString:@"iPad2,1"]) {
modelName = @"iPad 2(WiFi)";
}
else if([modelName isEqualToString:@"iPad2,2"]) {
modelName = @"iPad 2(GSM)";
}
else if([modelName isEqualToString:@"iPad2,3"]) {
modelName = @"iPad 2(CDMA)";
}
return modelName;
}
आप आईफोन ओएस संस्करण का पता लगाने के लिए इस कोड का उपयोग कर सकते हैं। फ्लोट संस्करण = [[[UIDevice currentDevice] systemVersion] floatValue];
if (version >= 3.0) {
// Only executes on version 3 or above.
}
आप [currentDevice] कॉल कर सकते हैं (http://developer.apple.com/iphone/library/documentation/uikit/reference/UIDevice_Class/Reference/UIDevice.html#//apple_ref/doc/uid/TP40006902 -CH3-SW10) UIDevice पर और मॉडल संपत्ति को देखो। ** संपादित करें: ** हालांकि ... दस्तावेज़ों का सुझाव है कि इसमें सटीक मॉडल संख्या शामिल नहीं है। –