tags:

views:

1980

answers:

2

Is it possible to distinguish an iPhone 3G from an iPhone 3G S using any of the properties of [UIDevice currentDevice]?

+5  A: 

The best way to check is to use sysctlbyname("hw.machine", ...) as per http://stackoverflow.com/questions/688001/how-to-tell-if-your-code-is-running-on-an-iphone-or-an-iphone3g/688171#688171

The returned result for 3GS should be "iPhone2,1"

Stobor
Also, see http://arstechnica.com/apple/guides/2009/03/iphone-dev-determining-your-platform.ars (although you'll still have to add the 2,1 result for the 3GS).
Stobor
+1  A: 

I don't believe so - nor even 1G phones from 3G. You have to use sysctls to get more detailed model info.

E.g. see here

frankodwyer