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 の箇所は整数のみ
おやくにたてたら幸いです.。゚+.(・∀・)゚+.゚
良いねとかコメントもらえると励みになります☆
関連記事
-
-
UIViewを透明にする
// opaque属性にNOを設定する事で、背景透過を許可する。 UIView …
-
-
CGAffineTransformIdentity
アフィン変換がされたビューを,初期状態(アフィン変換がされていない状態)に戻す …
-
-
UIView
タイトル画面の背景など、新たにビューを追加した場合 UIViewを生成し sel …
-
-
アプリの名前をつける
iPhoneのホーム画面に表示される「アプリ名」の付け方 アプリ名の変更には上 …
-
-
経過時間を算出する
まず比較する為の時刻を予めローカルに保存するために NSUserDefaults …
-
-
配列にNSNumberをぶちこむ
配列から数値を直に取り出したい場合はどうするのかと調べてみたのでメモ。 NSNu …
-
-
ステータスバーを隠す方法
Deployment Info の Status Bar Style 下部にある …
-
-
よく使うショートカット
Ctrl+6 : 表示中のクラスのメソッド一覧 さらにテキスト入力してインクリメ …
-
-
SNS連携
Twitter・Facebookとの連携は #import <Social …
-
-
transform中の座標取得
CGAffineTransformを使用して画像を変化させている最中の座標取得方 …
- PREV
- PostScriptの調べ方
- NEXT
- UIBezierPath
Comment
すみません。
ゲームセンターへ通知のiTunesConnectで付けたIDとは何を指すのでしょうか?
どうも初めまして
iTunesConnectでアプリの情報を登録ををしますよね?
Gamecenterで使う為のリーダーボードを作る時に「LeaderboardID」というのを登録します。
そのIDのことです。