gpt4 book ai didi

ios - GameCenter didAcceptInvite 未调用

转载 作者:行者123 更新时间:2023-11-29 01:45:01 25 4
gpt4 key购买 nike

我正在使用 iOS GameCenter 开发一款回合制游戏。我使用默认的 GKTurnBasedMatchmakerViewController 进行配对和邀请。但是在发送和接受邀请后,player:didAcceptInvite: 方法不会被调用。我预计这个方法会在其他玩家接受本地玩家的邀请后被调用。

所以我的问题是:

1) 如何触发player:didAcceptInvite:

2) 如果邀请被拒绝,你如何通知本地玩家?

我的目标是 iOS 7+,并使用两台真实设备进行测试。

本地播放器鉴权后会调用如下方法:

-(void)onPlayerAuthenticationChanged
{
if ([GKLocalPlayer localPlayer].isAuthenticated)
{
if (!self.isLocalPlayerAuthenticated)
{
[[GKLocalPlayer localPlayer] registerListener:self];
self.isLocalPlayerAuthenticated = YES;
}
}
//…
}

GC 单例符合GKLocalPlayerListener 协议(protocol),其中包括GKInviteEventListenerplayer:didAcceptInvite:。我的实现看起来与 iOS 7: How to setup invitation handler for Game Center matchmaker 中建议的解决方案大致相同。 .

最佳答案

虽然文档没有说明这一点,但我通过实验了解到 didAcceptInvite 仅在实时匹配时触发。它不会在回合制比赛中触发。目前尚不清楚这是设计使然(并且文档有误)还是已损坏。我在这方面与 Apple 有一个 Unresolved 错误。

但是,作为替代方案,receivedTurnEventForMatch 会在受邀玩家开始游戏时触发。如果其他玩家接受邀请时您需要做一些事情,请尝试将其放入 receivedTurnEventForMatch

关于ios - GameCenter didAcceptInvite 未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32024056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com