2010-10-21 11 views
2

Je suis sur le point de commencer à construire un jeu iPhone qui utilisera Game Center Achievements et des scores élevés, mais j'aimerais aussi avoir une version qui fonctionne sur les iPhones qui n'ont pas Game Center (iOS version < 4.1). Puis-je avoir deux versions de la même application dans l'App Store, une pour le centre de jeu, une pour l'autre? Ou devrais-je concevoir l'application de telle sorte que si l'iPhone ne dispose pas de Game Center, il ne l'utilisera pas, et si c'est le cas, il l'utilisera? Je vais continuer à faire des recherches, je pensais juste poster cette question et obtenir quelques commentaires en attendant. Merci beaucoup!Comment créer un jeu qui ne prend en charge Game Center que s'il est disponible sur l'iPhone?

Répondre

3

Voici la réponse définitive, j'ai reçu d'un des ingénieurs d'Apple ...

« Nous recommanderiez faire une version de l'application qui détecte dynamiquement si Game Center est disponible et l'utilise (ou non) sur la base sur ça."

1

Peut-être créer un jeu sans cela, puis créer les capacités pour le centre de jeu, mais les désactiver, et ne les activer que s'ils ont la bonne version.

1

Je fais la même chose. Si vous disposez des fonctionnalités de GameCenter, vous pouvez utiliser les fonctionnalités. Si vous ne le faites pas, vous ne pouvez pas.

Je ne programmerais pas un jeu sans, puis je l'ajouterais plus tard. Dans mon cas, je désactiver Multijoueur pour les utilisateurs non-GC.

De plus, vous souhaiterez peut-être que votre jeu fonctionne si le périphérique possède des capacités GC, mais que l'utilisateur ne peut, pour une raison quelconque, se connecter au GC actuellement.

1

Vous pouvez utiliser la fonction suivante pour détecter si le périphérique prend en charge le Game Center:

BOOL isGameCenterAvailable() 
{ 
    // Check for presence of GKLocalPlayer API. 
    Class gcClass = (NSClassFromString(@"GKLocalPlayer")); 

    // The device must be running running iOS 4.1 or later. 
    NSString *reqSysVer = @"4.1"; 
    NSString *currSysVer = [[UIDevice currentDevice] systemVersion]; 
    BOOL osVersionSupported = ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending); 

    return (gcClass && osVersionSupported); 
} 

Cependant, je trouve que beaucoup de gens n'ont pas mis à jour iOS 4.1 ou sont naïfs à propos de Game Center. Le nombre d'utilisateurs dans mon jeu est assez petit même s'il y a tellement de téléchargements. J'envisageais en fait de passer à Open Feint, qui est beaucoup plus facile à mettre en œuvre que Game Kit et qui prend également en charge les périphériques plus anciens.