2009-09-23 8 views
1

Ceci est mon actuel mis en place pour mon jeu multijoueur:GameKit et GKPeerPicker le 1er Gen iPhone et iPod Touch

Une vue qui donne des conseils de connexion et avertit l'utilisateur que multijoueur ne fonctionnera pas sur la 1ère génération iPhone ou iPod Toucher. Il y a un bouton "connecter" qui pousse la vue du jeu et démarre le GKPeerPicker.

Malheureusement, je n'ai pas d'iPhone ou d'iPod Touch de 1ère génération pour tester ce qui se passe s'ils appuient sur le bouton de connexion. La vue sera poussée, mais je ne sais pas ce qui se passera quand le PeerPicker essayera de montrer.

La question (s):

Y at-il de toute façon de dire si l'utilisateur ne sera pas en mesure d'utiliser GameKit afin que je puisse désactiver le bouton « connecter »? Qu'arrivera-t-il si le bouton de connexion est enfoncé et que GameKit n'est pas disponible?

Répondre

1

Vous pouvez trouver le modèle d'iPhone ou d'iPod Touch sur lequel votre application s'exécute, puis désactiver la fonction si ce n'est pas un type d'iPhone/iPod accepté.

Pour ce faire, vous pouvez ajouter ce qui suit à votre application:

#import <sys/utsname.h> 

- (NSString *) machineModel { 
    struct utsname systemInfo; 
    uname (&systemInfo); 
    return [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; 
} 

appel NSLog(@"Type: %@", [self machineModel]) vous donnera la hardware model.

+0

J'ai fini par l'utiliser pour lancer une alerte si l'utilisateur utilise un iPhone ou iPod Touch de 1ère génération. –

1

Si vous ne voulez pas que l'application s'exécute du tout sur un matériel non pris en charge, utilisez la valeur peer-peer en tant que membre de la clé UIRequiredDeviceCapabilities dans votre Info.plist. Je suis sûr que vous pouvez également définir cela avec iTunes Connect lorsque vous soumettez votre application. Plus d'infos dans la section Device Support du guide de programmation d'application iPhone. Bien sûr, si votre application peut utiliser le wifi ainsi que le Bluetooth, alors vous ne voulez pas faire cela, puisque vous pouvez réellement utiliser des iPhones et des touchers de 1ère génération.

Questions connexes