Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I detect whether I have iPhone 2G,3G,3GS

How to detect my current device name through iOS?

like image 824
Rahul Vyas Avatar asked Oct 09 '09 13:10

Rahul Vyas


1 Answers

Whether you are on an iPhone or a iPod Touch:

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

To detect the version of the OS:

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

To detect a specific model, you would need to test for some capability that only that model has, so to detect an iPhone 3GS, check for a video capability on the camera:

#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];
}
like image 143
mmc Avatar answered Sep 29 '22 00:09

mmc