Xcode6 GameCenter 実装
2016/06/03
Xcode6(iOS7以上)でのGameCenter実装
検索であまり見つからなかったので、シェア( ゚∀゚)・;”.、
▽まずはGameCenterにログイン(アプリ内)
AppDelegate.h
#import <GameKit/GameKit.h>をインポート
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
//gamecenterのプレイヤーを取得
GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error){};
return YES;
}
▽スコアを送信する前に下ごしらえ
ViewController.h
#import <GameKit/GameKit.h>
@interface ViewController : UIViewController <GKGameCenterControllerDelegate> {
}
ViewController.m
// ストーリボード表示
- (void)GamecenterInit {
GKGameCenterViewController *leaderboardController = [GKGameCenterViewController new];
if (nil != leaderboardController) {
leaderboardController.gameCenterDelegate = self;
leaderboardController.viewState = GKGameCenterViewControllerStateLeaderboards;
[self presentViewController:leaderboardController animated:YES completion:nil];
}
}
// ストーリボードを閉じる際に必要なメソッド
// GKLeaderboardViewControllerのDelegate
-(void)gameCenterViewControllerDidFinish:(GKGameCenterViewController *)gameCenterViewController {
[self dismissViewControllerAnimated:YES completion:nil];
}
// GKAchievementViewControllerのDelegate
-(void)achievementViewControllerDidFinish:(GKGameCenterViewController *)viewController {
[self dismissViewControllerAnimated:YES completion:nil];
}
// GameCenter
-(void)submitScore:(int)score forCategory:(NSString*)category {
GKScore *scoreReporter = [[GKScore alloc] initWithLeaderboardIdentifier:category];
scoreReporter.value = score;
[GKScore reportScores:@[scoreReporter] withCompletionHandler:^(NSError *error) {
if (error) {
/* エラー処理 */
NSLog(@"書き込めませんでした");
}
}];
}
▽ストーリーボード表示
表示する為のボタン(メソッド)に以下をコピペ
[self GamecenterInit];
▽スコアを送る方法
お好きなタイミングで(ゲーム終了とかで)下の行を添えるだけ!
// ゲームセンターへ通知
[self submitScore:755
forCategory:@"iTunesConnectで付けたID"];
注意:例として代入してある 755 の箇所は整数のみ
おやくにたてたら幸いです.。゚+.(・∀・)゚+.゚
良いねとかコメントもらえると励みになります☆
関連記事
-
-
CGAffineTransformIdentity
アフィン変換がされたビューを,初期状態(アフィン変換がされていない状態)に戻す …
-
-
配列にNSNumberをぶちこむ
配列から数値を直に取り出したい場合はどうするのかと調べてみたのでメモ。 NSNu …
-
-
transform中の座標取得
CGAffineTransformを使用して画像を変化させている最中の座標取得方 …
-
-
よく使うショートカット
Ctrl+6 : 表示中のクラスのメソッド一覧 さらにテキスト入力してインクリメ …
-
-
経過時間を算出する
まず比較する為の時刻を予めローカルに保存するために NSUserDefaults …
-
-
iPhone画面サイズ
3.5inch 320 x 480px (Retina 640 x 960px) …
-
-
ステータスバーを隠す方法
Deployment Info の Status Bar Style 下部にある …
-
-
UIImageView 画像の差し替え
[UIImageView alloc] 後の画像を変換する時は下記コードを参照し …
-
-
LaunchImage 関連の設定
▼アプリ起動時のスプラッシュ画面 通常はチラっと一瞬だけ表示されるスプラッシュ画 …
-
-
ボタンに画像(背景)を指定する
// ボタンのサイズを指定する UIButton *startBtn = [[U …
- PREV
- PostScriptの調べ方
- NEXT
- UIBezierPath

Comment
すみません。
ゲームセンターへ通知のiTunesConnectで付けたIDとは何を指すのでしょうか?
どうも初めまして
iTunesConnectでアプリの情報を登録ををしますよね?
Gamecenterで使う為のリーダーボードを作る時に「LeaderboardID」というのを登録します。
そのIDのことです。