How to detect my current device name through iOS?
How do I detect whether I have iPhone 2G,3G,3GS
19.3k Views Asked by Rahul Vyas At
4
There are 4 best solutions below
1

Here is a class written by Erica Sadun that provides extensive capabilities for this:
http://github.com/erica/uidevice-extension/blob/master/UIDevice-Hardware.m
Check out the rest of the repo - there are a few more classes that would prove to be really useful for fine-grained device querying.
0

What you are looking for is this:
UIDevice *device = [UIDevice currentDevice];
NSString *model = [device model];
This will return whether the device is an iPhone or iPod touch
2

From the UIDevice.h file:
[[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.
Whether you are on an iPhone or a iPod Touch:
To detect the version of the OS:
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: