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?

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

アプリを常にActiveにForegroundにした状態で写真を撮影できるか

写真は音をたてないと撮影できなかったり不便なことが多いのでできるのかよくわかりませんので検証

UITableViewCellをプログラムで動的に作成する

UITableViewをStoryboardで作成する方法は結構ありますが、プログラムだけで作成するサンプルが少なかったので共有します。

メモリの動きとポインタ

Swiftとポインターはあまり縁がないのかなと思っていたのですが、開発を進めていると 時々このUnsafePointerの名前を見ることがあります。本日はこのPointerが何を表しているかを調査してみます。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!