[iOS SDK] Game Center の Leaderboard 機能を利用してみた

公開日: : iPad, iPhone

自分で作っている英単語学習アプリを自分でひたすらテストをしているのだけれども、実際やってみるとなかなか毎日継続して学習させるのは難しい。
何かアプリを起動するモチベーションを用意したいということで、これまで利用したことがなかったGame CenterのLeaderboard機能を試しに使ってみることにした。

昔Game Centerが出たての頃に試してみたときには面倒そうであまりひかれない機能だったのだけれども、今は情報が揃っていてLeaderboardを使うくらいであればあっという間に実現できてしまった。

Game Center のリーダーボード(スコアランキング)対応アプリの作り方 – Over&Out その後

iPhoneアプリをGameCenterのLeaderboard(ランキング)に対応させる方法 | PLUS
を参考にした。


しかし、試しているうちになぜかアプリをアクティブにしただけでLeaderboardが表示されてしまうようになってしまった。


   GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];

    if(localPlayer) {
        [localPlayer authenticateWithCompletionHandler:^(NSError *error) {
            if(error == nil) {
                if(localPlayer.authenticated) { // GameCenter が利用可能
                    [self sendScoreToGameCenter];
                    
                    GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewControlleralloc] init];
                    leaderboardController.leaderboardDelegate = self;
                    [self presentModalViewController:leaderboardController animated:YES];
                }
            } else { // GameCenter が利用できない
				// alert を表示                
            }
        }];
    }    

デバッガで調べていると、なぜかいきなり GKLocalPlayer の authenticateWithCompletionHandler のblock内の処理がいきなり呼び出されていることがわかった。

ということで
Deprecated GKLocalPlayer Methods

を読んでみたところ、このAPIを呼ぶとスレッドが走って、情報が得られた後にblock の処理が呼ばれるらしい。
ということで、バックグラウンドに入ったアプリをアクティブにするだけで、Leaderboardが表示されてしまっていた。
わかってしまえば簡単だけれども、この情報を他にWebで見た記憶がないのでメモとして残しておく。

しかしGame Center は利用するのは簡単だけれども、Game Centerを利用しないユーザから見ると結構うざい機能だ。
Game Centerの「○○さんお帰りなさい」を出さないよう設定する方法はありますか? | よくあるiPhoneの質問 | 教えて!AppBank
など、無効にしたいというコメントを大量に見つけることが出来た。
とりあえず利用するけれども、不評だったら機能を削除したりしようと思う。

書籍としては、この前BOOKSCANでスキャンした下記の本が役に立った。

詳解iOS5プログラミング
詳解iOS5プログラミング 沼田 哲史

秀和システム 2011-12
売り上げランキング : 326673

Amazonで詳しく見る by G-Tools

関連記事

no image

[iOS SDK] Pebble腕時計対応iOSアプリを作る

英単語学習アプリ WordLearnをリリースしましたに書いたけれども今Pebble腕時計対応iOS

記事を読む

Reject 履歴 おんぷちゃん 1.9.0

久しぶりに おんぷちゃん をアップデートしようとしたところ、"Guideline 2.3.7 - P

記事を読む

iPhone 6 Plus iSight カメラ交換プログラムに行ってきた

iPhone 6 Plus iSight カメラ交換プログラム - Apple サポート の発表があ

記事を読む

iOS上のJavaScript実行環境Scriptableを使ってみた

iOS上の JavaScript実行環境であるScriptable を使ってみた。 Scr

記事を読む

no image

[iPhone SDK] 処理を遅延実行する方法

処理を少し遅らせて実行したいときがたまにある。 そういうときには、NSObjectの - (voi

記事を読む

Xcodeの Console出力をクリアするキーバインド

いつも忘れるので、メモとして残しておく。Command(⌘)+ Kその他はこちら。 Menu Com

記事を読む

no image

リズムくんHD 1.0.1 をリリースしました (2012/09/01)

iPhone/iPad はサイレントモードにしても音が鳴る | DevCafeJp iOSの消音

記事を読む

コードちゃん 1.0.3 アップデート

コード学習アプリ コードちゃん 1.0.3をアップデートしました。ダイアトニックコードの Bmb5

記事を読む

[買ってみた] iPhone 11 Pro Max

iPhone 11 Pro Maxを発売日の2019/9/20に購入し、もうすぐ買ってから

記事を読む

iPadアプリおんぷちゃんでMiselu C.24 をサポートしました

Bluetoothキーボード兼iPadカバーの Miselu C.24 が届いたので、iPadアプリ

記事を読む

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Break Back 22巻まで読了

テニス漫画と言えば、ベイビーステップスだと思っていたし、全巻持ってい

TORRAS iPhone 16 Pro Max用ケース

自分はiPhoneはケースを付けない派で、iPhone 12

iPhone 16 Pro Max 購入

iPhone 16 Pro Max 256GB 189000

Ember Mug 2のACアダプタをUSB Type-Cに変えてみた

冬になると活躍する Ember Mug 2 の充電器は付属のACアダ

Wi-Fi6Eルータ TP-Link AXE5400購入

Wi-Fi6E を試してみたくなり、TP-Link AXE5

→もっと見る

  • 2013年4月
    1234567
    891011121314
    15161718192021
    22232425262728
    2930  
PAGE TOP ↑