[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 |
関連記事
-
-
iPhone Developer Program Activation 完了
iPhone Developer ProgramのActivationの件。 木曜日の夜にメールを出
-
-
iPhone SDK 3.0 beta 4
iPhone プログラミング記さんによると、 iPhone SDK 3.0 beta 4 になってよ
-
-
iPad 発売 2010/04/03
日本時間4/3 17:00あたりに、Appleから iPad is here. メールが来てい
-
-
Pebble E-Paper Watch 届いた! 感想。
追記: Pebble 向けにアプリを作りました。 Kickstarter で iPhone/A
-
-
App Storeの売り上げを簡単に確認できるMacアプリAppViz
App Storeでのアプリの毎日の売り上げを確認したい場合、これまでは AppSalesを使ってい
-
-
iPad Pro 2017 12.9inch購入
新型コロナウィルスの影響でリモートワークの機会が増えているため、リモートワークをサポートす
-
-
[iOS SDK] iPhone/iPad はサイレントモードにしても音が鳴る
この前、iOS5 を入れた iPad2 で おんぷちゃん for iPad から音が鳴らない、ほかの
-
-
[iOS SDK] アプリを起動しない 3D quick action は実現できるか
iPhone 6s / iPhone 6s Plus から 3D Touch 機能が搭載されたが、搭
-
-
iPadアプリおんぷちゃんでMiselu C.24 をサポートしました
Bluetoothキーボード兼iPadカバーの Miselu C.24 が届いたので、iPadアプリ
-
-
Clime もうすぐ発送?
自分以外に注目している人を見たことがない Clime だが、メールでせかしていたらもうすぐ発送してく