[iOS SDK] Game Center の Leaderboard 機能を利用してみた
自分で作っている英単語学習アプリを自分でひたすらテストをしているのだけれども、実際やってみるとなかなか毎日継続して学習させるのは難しい。
何かアプリを起動するモチベーションを用意したいということで、これまで利用したことがなかった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プログラミング | |
![]() |
沼田 哲史
秀和システム 2011-12 |
関連記事
-
-
[iOS] iPhone とつながるG-SHOCKの注意すべき仕様
CASIO 腕時計 G-SHOCK ジー・ショック Bluetooth Low Energy対応
-
-
KORG USB MIDIコントローラーnanoPAD2購入
2016年あけましておめでとうございます。以前から気になっていたKORG nanoPAD2 がタイム
-
-
NSInternalInconsistencyException
久しぶりにiOS6以前のアプリをビルドしたら NSInternalInconsistencyExce
-
-
dyld`__abort_with_payload:でクラッシュ WatchKitApp on Xcode11.1
Xcode 11.0 や Xcode11.1で以前はビルドして実行できていたWatchKi
-
-
Pebbleアプリ改造中
PebbleアプリEverLearnを改造中です。1秒1単語で1分間で60単語を表示。左が初代Peb
-
-
iPhoneアプリ おんぷちゃん開発日記 iPad版をアップデート
iPhoneアプリサポートページ の方に書きましたが、4月30日にようやくiPad用のアップデート版
-
-
さくらのVPSにRedmine+Subversionを入れてみた
一応個人ソースコード管理にはAssemblaを使っていたが、いつ有料になるか分からないし自分でサーバ
-
-
Corona SDK 調査3日目 (Lua 用エディター探しその1)
iPhoneとAndroid両方で動くアプリケーションを開発できるというCorona SDKの調査3
-
-
[iOS SDK] Studyplus の API を利用してみる
学習管理プラットフォーム「Studyplus」がAPIを公開——外部教材アプリとの連携を強化 | T
-
-
iPhoneアプリ 「リズムくん」 Ver.1.1 アップデート
リズムくん Ver.1.0ではまずは8分音符までの問題でリリースしてみましたが、やはりより難しい問題