HOME > 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!) 内に上記処理を記載して、変数をクラス変数として永続化させてください。
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をログイン結果の正否で実装したい場合は以下を参考にしてください。2021-05-14 14:21:41 | WatchOSのwatchconnectivityのFiletransferの落とし穴。と、避け方。
AppleWatch 実機だと成功するんだけど、シュミレーターだと失敗するという、、、
昔作成してた時は成功してたのになーと思って調べると、どうやら昔は成功してたみたい。watchOS6以降は... |
2021-05-06 14:04:37 | LINEのアニメーションスタンプ制作の落とし穴、、、失敗談
ゴールデンウィークにLINEスタンプを作成してみました。
作り切って申請も通したんですが、意図したアニメーションと違う、、、、
LINEクリエーターの画面だと、アニメーションのプレビュー... |
2021-05-01 18:05:35 | 久しぶりのAdmobをobjective-cに実装。コンパイルエラーだらけ。バーミッション不具合でエミュレータにインスコできない。
忘れないようにメモ
エミュレータにアプリをインストールする際にパーミッション系のエラーがでた時、また、iphone実機にインストールする際にも権限系のエラーが出る場合。
ターゲット→ex... |
Tweet | |||
|