Как найти модель устройства iPhone/iPod (3G, 3GS, 4,4S) по коду?
Возможный дубликат:
Определить устройство (iPhone, iPod Touch) с помощью iOS
Я попытался получить название текущей модели устройства, например, 3G, 3GS, 4,4S, iPodTouch (разные поколения). Но я не могу получить точный результат до сих пор. Не могли бы вы помочь мне узнать модель устройства? Здесь я приложил свой код, который я использовал, чтобы получить модель устройства.
UIDevice *device = [UIDevice currentDevice];
NSString *deviceVersion = [device systemVersion];//Return 4.0.1 and 5.0.1
NSString *deviceName = [device systemName];//Return iPhone, iPod Touch
Как получить устройства модели 3G, 3GS, 4,4S, iPod Touch, iPad?
Ответы
Ответ 1
#import <sys/utsname.h>
NSString*
machineName()
{
struct utsname systemInfo;
uname(&systemInfo);
return [NSString stringWithCString:systemInfo.machine
encoding:NSUTF8StringEncoding];
}
Результат должен быть:
@"i386" on the simulator
@"iPod1,1" on iPod Touch
@"iPod2,1" on iPod Touch Second Generation
@"iPod3,1" on iPod Touch Third Generation
@"iPod4,1" on iPod Touch Fourth Generation
@"iPhone1,1" on iPhone
@"iPhone1,2" on iPhone 3G
@"iPhone2,1" on iPhone 3GS
@"iPad1,1" on iPad
@"iPad2,1" on iPad 2
@"iPhone3,1" on iPhone 4
@"iPhone4,1" on iPhone 4S
Ответ 2
В girhub есть библиотека, которая сделает это. См. Эту ссылку:
https://github.com/erica/uidevice-extension