Double Possible:
Déterminer appareil (iPhone, iPod Touch) avec le SDK de l'iPhoneJe suis de faire un jeu qui utilise le peer-to-peer, la fonction bluetooth de l'iPhone (et probablement l'iPod touch 2e génération). Cependant, pour arrêter les utilisateurs d'essayer de jouer à un jeu multi-joueurs sur un iPod 1ère génération et iPhone 2G, j'ai besoin de vérifier pour le modèle de l'appareil.
[[UIDevice currentDevice] modèle] s'dites-moi seulement si l'appareil est un "iPhone" ou un "iPod touch". Est-il un moyen de vérifier le modèle de lecteur spécifique, comme: "iPhone 3GS", "iPod touch 1ère génération", ou quelque chose.
EDIT:
Il existe une catégorie de UIDevice (je pense qu'il est créé par Erica Sadun, je ne prends pas de crédit) qui utilise le code suivant pour obtenir ce modèle de lecteur spécifique. Vous pouvez trouver l'ensemble de la catégorie ici avec d'autres choses utiles: https://github.com/erica/uidevice-extension
#include <sys/types.h> #include <sys/sysctl.h> @implementation UIDevice (Hardware) /* Platforms iPhone1,1 -> iPhone 1G iPhone1,2 -> iPhone 3G iPod1,1 -> iPod touch 1G iPod2,1 -> iPod touch 2G */ - (NSString *) platform { size_t size; sysctlbyname("hw.machine", NULL, &size, NULL, 0); char *machine = malloc(size); sysctlbyname("hw.machine", machine, &size, NULL, 0); NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding]; free(machine); return platform; }
Cela fonctionne et les applications à l'aide de cette, a été récemment approuvé dans l'AppStore.
- Déterminer l'appareil (iPhone, iPod Touch) avec iOS (5 réponses )
Réponses
Trop de publicités?Vous pouvez obtenir le numéro de modèle de l'appareil à l'aide de uname
de sys/utsname.h
. Par exemple:
#import <sys/utsname.h>
NSString*
machineName()
{
struct utsname systemInfo;
uname(&systemInfo);
return [NSString stringWithCString:systemInfo.machine
encoding:NSUTF8StringEncoding];
}
Le résultat devrait être:
@"i386" sur le simulateur @"iPod1,1" sur l'iPod Touch @"iPod2,1" sur l'iPod Touch de Deuxième Génération @"iPod3,1" sur l'iPod Touch de Troisième Génération @"iPod4,1" sur l'iPod Touch de Quatrième Génération @"iPhone1,1" sur iPhone @"iPhone1,2" sur l'iPhone 3G @"iPhone2,1" sur l'iPhone 3GS @"iPad1,1" sur iPad @"iPad2,1" sur l'iPad 2 @"iPad3,1" sur l'iPad 3 (aka new iPad) @"iPhone3,1" sur l'iPhone 4 @"iPhone4,1" sur l'iPhone 4S @"iPhone5,1" sur l'iPhone 5 @"iPhone5,2" de l'iPhone 5
Catégorie de UIDevice (matériel) plus complète est sans doute http://github.com/erica/uidevice-extension/ (par Erica Sadun) :
iPhone 4 est iPhone3, 1 et iPhone3, 2
iPhone 4 s est iPhone4, 1
iPad 2 est iPad 2, 1 iPad2, 2 et iPad2, 3 selon version (GSM, etc.)
iPad 3 est iPad3, 1 iPad3, 2 et iPad3, 3 selon version (GSM, etc.)
Voir les secrets de l’Iphone (faites défiler jusqu'à « codes de produit interne »)
Une autre bonne source est : everyiphone.com