[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

「サンプルプログラムでマスターする iPhone SDK」 の感想

2009年9月に発売された本。 iPhone SDK 3.0 リリース後に書かれた本なので、3.

記事を読む

TestFlight を使ったベータテストについて

アプリのベータテストにご協力いただきありがとうございます。ベータテストには、AppleのTestFl

記事を読む

no image

省メモリプログラミング

昔買った「省メモリプログラミング」を読み返してみたら、Objective-Cで採用している参照カウン

記事を読む

Guideline 2.5.10 – Performance – Software Requirements で Reject

2019年3月27日以降、iPhone Xs Maxの画面サイズ6.5インチのスクリーンショットが

記事を読む

Apple Special Event 2011

2011年は iPhone 4s が発表された。 https://japanese.enga

記事を読む

au iPhone 6 Plus 64GB Silver 届いた

9/19 の発売以来、悩み抜いた結果 au で iPhone 6 Plus 64GB S

記事を読む

no image

イタリア語でレビューをいただきました

おんぷちゃん for iPad にイタリア語でレビューをいただきました。 Ottimo! O

記事を読む

no image

iPhoneアプリケーションプログラミング-オンライン版

先日紹介した、新居雅行氏のiPhoneアプリケーションプログラミングだが、オンライン版が存在する。

記事を読む

Apple Event Sep 2021

ついに後数時間で Apple Event 2021.09.15 がある。 今年は何かサプライ

記事を読む

児童手当 認定請求書申請 2024 「請求者が養育をする18歳に達する日以降の最初の3月31日までの子の数」とは?

2024年に受給していない人には手紙が届くらしい。 電子申請も可能ということで、iPhone

記事を読む

Message

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

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

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

児童手当 認定請求書申請 2024 「請求者が養育をする18歳に達する日以降の最初の3月31日までの子の数」とは?

2024年に受給していない人には手紙が届くらしい。 電子申請も

Vision Proアプリ開発本 8/24、8/26に発売

Vision Proアプリ開発入門 P400が 8/24 に発売、V

Developer Strap が日本でも購入可能に

USアカウントでしか購入できなかった Vision Pro 用 De

Vision Pro カバーケースを買ってみた

[itemlink post_id="11629"]

→もっと見る

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