参考書のメインコンテンツと思われる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ソーシャルゲーム開発 書籍詳細|株式会社 C&R研究所
- Game Center のリーダーボード(スコアランキング)対応アプリの作り方 – Over&Out その後
- iOS Developer Library
“Game Kit プログラミングガイド”を参照した
iPhoneソーシャルゲーム開発
posted with amazlet at 12.07.12
林 晃
シーアンドアール研究所
売り上げランキング: 245996
シーアンドアール研究所
売り上げランキング: 245996
関連エントリー