iOSゲーム本”iPhoneソーシャルゲーム開発”の写経9:Game Centerでの認証

Screen Shot 2012-07-25 at 11.30.44
参考書のメインコンテンツと思われるGame Center対応について学習した。
第6章のトピック

  • Game Center概要、認証処理
  • Leaderboardの組込み
  • Achievementの組込み
  • (Game Centerアプリだけでなく)自アプリでのLeaderboard・Achievementの表示
  • 対戦機能の組込み

iTunes Connectで新規にアプリを登録した。管理画面にある”Manage Game Center”からLeaderboardとAchievementを作成することができるみたい。プロジェクト設定のBundle Identifierに、iOS Provisioning Portalで作ったApp IDを入れ、Required device capabilitiesに値(gamekit)を追加した。

コードは、Game Center処理専用のクラス(GameCenterSupport)を追加し、AppDelegateでGameCenterSupportのインスタンスを作り、applicationDidBecomeActiveで認証のメソッドをコールしている。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // ...

    // Game Centerの処理を行うクラスのインスタンスを作成する
    self.gcSupport = [[GameCenterSupport alloc] init];

    return YES;
}

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    // ...

    // Game Centerのアカウントを認証する
    [self.gcSupport authenticatePlayer];
}

// プレイヤーの認証を行う
- (void)authenticatePlayer
{
    // ローカルプレイヤーを取得する
    GKLocalPlayer *player = [GKLocalPlayer localPlayer];

    // 認証する
    [player authenticateWithCompletionHandler:^(NSError *error) {
        // 認証が成功したかチェックする
        if (player.isAuthenticated) {
            // 認証に成功したときの処理
            // 識別子をチェックする
            if (![player.playerID isEqualToString:self.playerID]) {
                // サインインしているアカウントが変わった
                [self localPlayerDidChange:player];
            }
        }
        else {
            // サインアウトされた
            if (self.playerID) {
                [self localPlayerDidChange:nil];
            }
        }
    }];
}

iOSシミュレータで確認をしたのだが、当初、Game Centerのアカウント確認が表示されなかったので、一度シミュレータでアプリを削除してから再度実行すると表示された。Sandbox用にアカウントを作った。今回は認証処理(Chapter06-024)までやった。

参考サイト

iPhoneソーシャルゲーム開発
林 晃
シーアンドアール研究所
売り上げランキング: 245996

関連エントリー

  1. iOSゲーム本”iPhoneソーシャルゲーム開発”の写経10:Game CenterのLeaderboard・Achievement組込み
  2. iOSゲーム本”iPhoneソーシャルゲーム開発”の写経6:音声の再生
  3. iOSゲーム本”iPhoneソーシャルゲーム開発”の写経8:動画の再生
  4. iOSゲーム本”iPhoneソーシャルゲーム開発”の写経5:アニメーション処理
  5. iOSゲーム本”iPhoneソーシャルゲーム開発”の写経4:画像の表示
This entry was posted in 未分類 and tagged , , . Bookmark the permalink.