Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > GameCenterのGKScoreでスコア送信

GameCenterのGKScoreでスコア送信

ゲームセンターにログインしている状態でスコアをサーバへ送信します。先にLocalplayerでログインする必要がありますが、自分でサーバを運営しないでサーバを管理できるので便利
参考(英語):“A GKScore must specify a leaderboard.”
参考(日本語):“【ios7版】GameCenterのランキング表示、スコア送信を実装する”

サンプル構文


//GameCenterのサーバにスコアを送信する処理です
var score:GKScore = GKScore();
score.value = Int64(送信する値をここに入力);
score.leaderboardIdentifier = リーダボードのIDをここに入力;
var scoreArr:[GKScore] = [score];

GKScore.reportScores(scoreArr, withCompletionHandler:{(error:NSError!) -> Void in
    if( (error != nil)){
        println("reportScore NG");
    }else{
        println("reportScore OK");
    }
    
});

※注意①:上記実施前にはGKLocalPlayerにてログイン処理を行ってください。ログイン済前提の処理です。
※注意②:スコア送信は一人が何度更新しても上書き反映されず別の人がアップした時点で切り替わるようです。
参考(英語):GKScore doesn't reporting scores

GKScoreUtil例文

GKScoreUtil.swiftをダウンロードする。(ご自由にご利用ください)

import UIKit
import GameKit

struct GKScoreUtil {
    
    static func reportScores(value:Int, leaderboardid:String){
        var score:GKScore = GKScore();
        score.value = Int64(value);
        score.leaderboardIdentifier = leaderboardid;
        var scoreArr:[GKScore] = [score];
        GKScore.reportScores(scoreArr, withCompletionHandler:{(error:NSError!) -> Void in
            if( (error != nil)){
                println("reportScore NG");
            }else{
                println("reportScore OK");
            }
        });
        
    }
}

//利用方法
GKScoreUtil.reportScore(12345, leaderboardid: "585u4ffjp");

↓こんな記事もありますよ!

SwiftでZipファイルの解凍や圧縮する方法

SwiftでZipの解凍・圧縮処理の解説です。標準ライブラリにZip2があるやら3rdパーティのSSArchiveのObjective-Cのライブラリを Swiftにブリッジして利用するのが良い等の記載がありましたので調査してみます。

UIButton

基本的なボタンを動的にコーディングだけで作成する説明をしています。

UITabBarController

スマホ画面下にタブが出てきて画面を切り替えできるUITabBarViewControllerクラスです。UITabBarItemの記事を追加しましたがUITabbarの記事がなかったので追加しました。(※目のチカチカにご注意ください。)
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!