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

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

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

HOME > GameCenterのGKLocalPlayerでログイン

GameCenterのGKLocalPlayerでログイン認証

GameCenterにログインします。AppDelegate.swiftにログイン処理を実装すれば、非アクティブから復帰した時も自動で再ログインします。
参考(英語): IOS Game Center GKLocalPlayerListener

サンプル構文


//GameCenterにログインします。
let localPlayer = GKLocalPlayer();
let localPlayer.authenticateHandler = {(viewController, error) -> Void in
    if ((viewController) != nil) {
        println("ログイン確認処理:失敗-ログイン画面を表示");
        self.presentViewController(viewController, animated: true, completion: nil);
    }else{
        println("ログイン確認処理:成功");
        println(error);
        if (error == nil){
            println("ログイン認証:成功");
        }else{
            println("ログイン認証:失敗");
        }
    }
}

※注意①:上記ログイン処理はどこでも記載できますが、アプリが非アクティブになるとログアウトしてしまいます。再度アクティブした場合に自動でログインさせる 場合は、AppDelegate.swiftのfunc application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) 内に上記処理を記載して、変数をクラス変数として永続化させてください。

GKLocalPlayerUtil例文

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

import UIKit
import GameKit

struct GKLocalPlayerUtil {
    static var localPlayer:GKLocalPlayer = GKLocalPlayer();
    
    static func login(target:UIViewController){
        self.localPlayer = GKLocalPlayer();
        self.localPlayer.authenticateHandler = {(viewController, error) -> Void in
       
            if ((viewController) != nil) {
                println("ログイン確認処理:失敗-ログイン画面を表示");
                target.presentViewController(viewController, animated: true, completion: nil);
            }else{
                println("ログイン確認処理:成功");
                if (error == nil){
                    println("ログイン認証:成功");
                }else{
                    println("ログイン認証:失敗");
                }
            }
        }
    }
}

//利用方法(AppDelegate.swiftに実装した例)
func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool {
    // Override point for customization after application launch.
    let targetViewController:UIViewController = ログイン画面を表示させたいビューコントローラー
    GKLocalPlayerUtil.login(targetViewController);
} 
※ Callbackをログイン結果の正否で実装したい場合は以下を参考にしてください。
How to implement Objective-C callback handler in SWIFT?

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

Pre特殊文字難民

記事を書いている時によくつまずくことがあります。preでコードを表示する際に、 カッコを使うと文章が消えてしまったり、ドルマークの変数が表示できなかったり。その度に検索して探しているのでサイトの中に入れてしまいます。 以前のバックスラッシュもそうですが、こういった特殊文字難民対策のページにしておきます。

UIButton

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

UITabBarItem

タブバーを利用した時にアイコンがデフォルトのものだけでは物足りなかったのでフリー素材でよさそうなサイトがあったので共有です。 500個も魅力的でオーソドックスで使いやすいアイコン盛りたくさん。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!