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 の箇所は整数のみ
おやくにたてたら幸いです.。゚+.(・∀・)゚+.゚
良いねとかコメントもらえると励みになります☆
関連記事
-
配列にNSNumberをぶちこむ
配列から数値を直に取り出したい場合はどうするのかと調べてみたのでメモ。 NSNu …
-
タッチイベント:有効・無効
// タッチイベントを有効にしたい場合の処理 [[UIApplication s …
-
UIView
タイトル画面の背景など、新たにビューを追加した場合 UIViewを生成し sel …
-
SNS連携
Twitter・Facebookとの連携は #import <Social …
-
CheatSheet
Xcodeの便利なショートカットキー 良く使ってるなと感じたら追記 Cmd+Al …
-
for文の便利な使い方
for文を使って繰り返し実行させる場合、基本的には数値を使ってループさせます。 …
-
UIViewの背景画像をフィットさせたい
UIViewは(UIImageViewとは違い)背景画像のサイズをフィットする機 …
-
UIButton 同時押し制御
UIButton *myBtn = [UIButton alloc] init] …
-
NSLog まとめ
デバッグする時などに、ログを出力する方法としてNSLogを使用します。 文字列を …
-
負の数を絶対数へ変換 abs
負の数を自然数(マイナスを含まない数字)にしたくて、「Xcode 自然数 変換」 …
- PREV
- PostScriptの調べ方
- NEXT
- UIBezierPath
Comment
すみません。
ゲームセンターへ通知のiTunesConnectで付けたIDとは何を指すのでしょうか?
どうも初めまして
iTunesConnectでアプリの情報を登録ををしますよね?
Gamecenterで使う為のリーダーボードを作る時に「LeaderboardID」というのを登録します。
そのIDのことです。