GKGameCenterViewController
で招待状を送信する際に問題が発生しています。 View Controllerはうまく開きますが、誰かに招待状を送信しようとするとすぐに失敗します。どちらのアカウントでもゲームセンターへの招待が有効になっており、GKGameViewController
で他のプレイヤーを見つけても問題ありません。ゲームセンターへの招待がすぐに失敗する
この方法は、(認証がGameViewController
から呼び出され、このコードは別々のゲームセンターの管理クラスである)とすぐにGKLocalPlayer
が認証されると呼び出されます:
internal func authenticationChanged() {
if GKLocalPlayer.localPlayer().authenticated && !authenticated {
print("Authentication changed: player authenticated")
authenticated = true
GKLocalPlayer.localPlayer().unregisterAllListeners()
GKLocalPlayer.localPlayer().registerListener(self)
} else {
print("Authentication changed: player not authenticated")
authenticated = false
GKLocalPlayer.localPlayer().unregisterAllListeners()
}
}
ここでは、招待状を管理するために使用しているコードです。
これは、招待を受信したときに呼び出されるメソッドですが、招待が送信されるとすぐに失敗することを考慮して呼び出されません。
public func player(player: GKPlayer, didAcceptInvite inviteToAccept: GKInvite) {
//presentingViewController.dismissViewControllerAnimated(false, completion: nil)
print("Accepted invite")
let mmvc = GKMatchmakerViewController(invite: inviteToAccept)!
mmvc.matchmakerDelegate = self
presentingViewController.presentViewController(mmvc, animated: true, completion: nil)
}
コードのこれら2つは、すべてのGKMatchmakerViewControllerDelegate, GKGameCenterControllerDelegate, GKMatchDelegate, GKLocalPlayerListener
デリゲートとプロトコルに準拠同じクラスです。
同じ問題が発生しました。あなたは解決策を見つけましたか? – EmilyJ
あなたは解決策を見つけましたか? –
いいえ、申し訳ありません。私たちはちょうどその周りを歩くことになった。 –