游戏中心邀请立即失败
我们在使用GKGameCenterViewController
发送邀请时GKGameCenterViewController
。 视图控制器打开很好,但是当我们尝试发送一个邀请给某人,它立即失败。 两个帐户都启用游戏中心邀请,并通过GKGameViewController
查找其他玩家的工作正常。 以下是我们用来pipe理邀请函的代码:
这个方法在GKLocalPlayer
进行身份validation后立即被调用(从GKLocalPlayer
调用身份validation,该代码位于单独的Game Centerpipe理类中):
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() } }
这是接收到邀请时应该调用的方法,尽pipe它不会在发送请求失败时被调用。
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) }
这两段代码全部在符合GKMatchmakerViewControllerDelegate, GKGameCenterControllerDelegate, GKMatchDelegate, GKLocalPlayerListener
委托和协议的同一类中。
我有完全相同的问题。 问题似乎是我在应用程序设置中使用了一个新的版本string – 我把它放回到目前在iTunes Connect中的版本,并且与Game Center一起工作,并且一切顺利!