2011-12-08 9 views
7

Eventuali duplicati:
Determine device (iPhone, iPod Touch) with iPhone SDKCome trovare il modello di dispositivo iPhone/iPod (3G, 3GS, 4,4S) in base al codice?

ho cercato di ottenere il nome del modello corrente dispositivo come 3G, 3GS, 4,4S, iPodTouch (diverse generazioni). Ma, non posso ottenere un risultato esatto fino ad ora. Potete per favore aiutarmi a scoprire il modello del dispositivo? Qui ho allegato il mio codice che ho usato per ottenere il modello del dispositivo.

UIDevice *device = [UIDevice currentDevice]; 
NSString *deviceVersion = [device systemVersion];//Return 4.0.1 and 5.0.1 
NSString *deviceName = [device systemName];//Return iPhone, iPod Touch 

Come posso ottenere il modello di dispositivo 3G, 3GS, 4,4S, iPod Touch, iPad? Grazie in anticipo.

+3

Esiste già un post con una grande risposta. [Scopri Brian Robbins risposta qui.] [1] [1]: http://stackoverflow.com/questions/448162/determine-device-iphone-ipod-touch-with-iphone-sdk – gurooj

risposta

13
#import <sys/utsname.h> 

NSString* 
machineName() 
{ 
    struct utsname systemInfo; 
    uname(&systemInfo); 

    return [NSString stringWithCString:systemInfo.machine 
           encoding:NSUTF8StringEncoding]; 
} 

Il risultato dovrebbe essere:

@"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 
+0

Grazie Mr.Nithin. Il tuo codice funziona perfettamente come mi aspettavo. Molte grazie. Aggiornamento – Gopinath

+0

per i nuovi modelli. iPhone5,2 su iPhone 5 (bianco) e iPhone6,2 su iPhone 5s (oro) dai miei dispositivi. – Joey

2

C'è una biblioteca girhub che lo farà. Vedere questo link:

https://github.com/erica/uidevice-extension

+0

Questi metodi utilizzano la private API e molto probabilmente la tua app verrà respinta. – WrightsCS

+2

@WrightsCS Sono chiaramente separati in quelli che sono OK per l'app store e quelli che potrebbero non esserlo. –

+0

Grazie Mr.WrightsCS e Mr.Anthony Blake. Grazie per il tuo prezioso aiuto. – Gopinath