Как определить, есть ли у меня iPhone 2G, 3G, 3GS - PullRequest
14 голосов
/ 09 октября 2009

Как определить мое текущее имя устройства через iOS?

Ответы [ 4 ]

22 голосов
/ 09 октября 2009

На iPhone или iPod Touch:

UIDevice *device = [UIDevice currentDevice];
NSString *systemName = [device systemName];

Чтобы определить версию ОС:

UIDevice *device = [UIDevice currentDevice];
NSString *systemVersion = [device systemVersion];

Чтобы обнаружить конкретную модель, вам необходимо проверить наличие некоторых возможностей, которые есть только у этой модели, поэтому для обнаружения iPhone 3GS проверьте наличие видео на камере:

#define SOURCETYPE UIImagePickerControllerSourceTypeCamera

// does the device have a camera?
if ([UIImagePickerController isSourceTypeAvailable:SOURCETYPE]) {
  // if so, does that camera support video?
  NSArray *mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:SOURCETYPE];
  bool isA3GS = [mediaTypes containsObject:kUTTypeMovie];
}
19 голосов
/ 23 марта 2010

Вот класс, написанный Эрикой Садун, который предоставляет широкие возможности для этого:

http://github.com/erica/uidevice-extension/blob/master/UIDevice-Hardware.m

Ознакомьтесь с остальной частью репозитория - есть еще несколько классов, которые могут оказаться действительно полезными для детализированных запросов устройств.

9 голосов
/ 10 октября 2009

Из файла UIDevice.h:

[[UIDevice currentDevice] name]              // e.g. "My iPhone"
[[UIDevice currentDevice] model]             // e.g. @"iPhone", @"iPod Touch"
[[UIDevice currentDevice] localizedModel]    // localized version of model
[[UIDevice currentDevice] systemName]        // e.g. @"iPhone OS"
[[UIDevice currentDevice] systemVersion]     // e.g. @"2.0"
[[UIDevice currentDevice] uniqueIdentifier]  // a string unique to each device based on various hardware info.
0 голосов
/ 13 марта 2013

То, что вы ищете, это:

UIDevice *device = [UIDevice currentDevice];
NSString *model = [device model];

Возвращается, является ли устройство iPhone или iPod touch

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...