IOS GameKit


Introduction

GameKit est un framework couramment utilisé dans le SDK iOS. Il possède trois fonctionnalités principales :

  • Plateforme de jeu interactive Game Center,
  • Fonctionnalité de communication P2P entre appareils
  • Voix en jeu.

Étapes de l'exemple

1. Lors de la connexion à iTunes, assurez-vous de disposer d’un App ID unique. L’App ID est nécessaire lors de la mise à jour du bundle ID de notre application, et pour la signature du code dans Xcode avec le profil de provisionnement correspondant.

2. Créez une nouvelle application et mettez à jour les informations de l’application. Vous pouvez en savoir plus dans la documentation sur l’ajout d’une nouvelle application.

3. Ouvrez l’application que vous avez enregistrée, cliquez sur l’option Gérer Game Center. Après être entré, cliquez sur Activer Game Center pour activer votre Game Center. Ensuite, configurez vos classements et vos réalisations.

4. L’étape suivante consiste à gérer le code et à créer l’interface utilisateur de notre application.

5. Créez une application à vue unique et saisissez l’identifiant de bundle.

6. Mettez à jour ViewController.xib comme indiqué ci-dessous.

gamekitInterface

7. Sélectionnez le fichier de projet, puis sélectionnez la cible, puis ajoutez GameKit.framework.

8. Créez des IBActions pour les boutons ajoutés.

9. Mettez à jour le fichier ViewController.h comme indiqué ci-dessous.

#import <UIKit/UIKit.h>
#import <GameKit/GameKit.h>

@interface ViewController : UIViewController
<GKLeaderboardViewControllerDelegate>

-(IBAction)updateScore:(id)sender;
-(IBAction)showLeaderBoard:(id)sender;

@end

10. Mettez à jour ViewController.m comme indiqué ci-dessous.

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    if([GKLocalPlayer localPlayer].authenticated == NO)
    {
      [[GKLocalPlayer localPlayer] 
      authenticateWithCompletionHandler:^(NSError *error)
      {
         NSLog(@"Error%@",error);
      }];
    }    
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
- (void) updateScore: (int64_t) score 
forLeaderboardID: (NSString*) category
{
    GKScore *scoreObj = [[GKScore alloc]
    initWithCategory:category];
    scoreObj.value = score;
    scoreObj.context = 0;
    [scoreObj reportScoreWithCompletionHandler:^(NSError *error) {
        // Completion code can be added here
        UIAlertView *alert = [[UIAlertView alloc]
        initWithTitle:nil message:@"Score Updated Succesfully" 
        delegate:self cancelButtonTitle:@"Ok" otherButtonTitles: nil];
        [alert show];

    }];
}
-(IBAction)updateScore:(id)sender{
    [self updateScore:200 forLeaderboardID:@"example"];
}
-(IBAction)showLeaderBoard:(id)sender{
    GKLeaderboardViewController *leaderboardViewController =
    [[GKLeaderboardViewController alloc] init];
    leaderboardViewController.leaderboardDelegate = self;
    [self presentModalViewController:
    leaderboardViewController animated:YES];

}
#pragma mark - Gamekit delegates
- (void)leaderboardViewControllerDidFinish:
(GKLeaderboardViewController *)viewController{
    [self dismissModalViewControllerAnimated:YES];
}

@end

Sortie

Exécutez l’application, le résultat est le suivant :

gamekit_Output1

Lorsque nous cliquons sur « Show Leaderboard », l’écran s’affiche comme suit :

gamekit_Output2

Lorsque nous cliquons sur « Update Score », le score sera mis à jour sur notre classement, et nous recevrons un message comme indiqué ci-dessous.

gamekit_Output3

Autres extensions