[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

関連記事

Apple Event 2016秋 See you on the 7th

2016秋のApple Eventは 2016/09/07(日本時間 9/8 2:00)に行われた。

記事を読む

no image

App Storeの売り上げを簡単に確認できるMacアプリAppViz

App Storeでのアプリの毎日の売り上げを確認したい場合、これまでは AppSalesを使ってい

記事を読む

no image

[iOS] iOSでToast

iOSでAndroidのToast的な、数秒間メッセージを表示して自動的に消える部品を探していたのだ

記事を読む

The file XXX couldn’t be opened because you don’t have permission to view it.

The file XXX couldn't be opened because you d

記事を読む

Apple Watch用バッテリーロガーを公開しました

1年前に開発し、App StoreにSubmitしたものの Rejectされ続けていたアプリをその

記事を読む

KORG LP-380 で QUICCO SOUND mi.1 を使ってみた

電子ピアノ KORG LP-380 を買ったのでこの機会に以前から気になっていた QUICCO SO

記事を読む

no image

[iOS開発本] ARC や Storyboardなどを説明した本

ARC や Storyboard を紹介した良い本を教えてほしい、と会社のマニアな人に質問されたので

記事を読む

iOS デバイスサポート最終バージョン

iOS9からGKSession over Bluetoothが無効に なってしまったので Multi

記事を読む

iOS15にアップデート

2021/09/21にiOS15が公開され、そろそろ初期不具合もわかってきた頃だと思いアッ

記事を読む

Apple Event Sep 2022 Far Out

毎年恒例の Apple Event が 2022/09/07 に行われた。日本時間は 9/8 2:

記事を読む

Message

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

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

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

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

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

→もっと見る

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