gpt4 book ai didi

ios - 发送和接收 GKTurnBasedMatch 的邀请

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:47:51 24 4
gpt4 key购买 nike

我正在开发棋盘游戏。使用 Game Center 进行多人游戏,但目前卡在如何发送或接收 GKTurnBasedMatch 的邀请。我正在使用以下方式以编程方式创建匹配:

GKMatchRequest *request = [[GKMatchRequest alloc] init];
request.defaultNumberOfPlayers = 2;

[GKTurnBasedMatch findMatchForRequest:request
withCompletionHandler:
^(GKTurnBasedMatch *match, NSError *error) {
if(error) {
NSLog(@"%@", error.localizedDescription);
return;
}
[self.delegate startGameForMatch:match];
}];

上述 block 参数中的GKTurnBasedMatch实例,只有本地玩家,其他玩家为nil,我需要显示游戏中对手的详细信息。

NSMutableArray *participantIds = [[NSMutableArray alloc] init];
NSLog(@"%@", match.participants);
for (GKTurnBasedParticipant *participant in match.participants) {
if(participant.playerID) [participantIds addObject:participant.playerID];
}
[GKPlayer loadPlayersForIdentifiers:participantIds
withCompletionHandler:^(NSArray *players, NSError *error) {
NSMutableString *string = [[NSMutableString alloc] init];
for (GKPlayer *player in players) {
[string appendFormat:@"---- Alias: %@ DisplayName: %@", player.alias, player.displayName];
}
NSLog(@"%@", string);
}];

我是不是遗漏了什么或者 Game Center 是这样工作的?我读到比赛的参与者在 GKTurnBasedParticipantGKTurnBasedMatch.currentParticipant 之前不会收到邀请,但我需要在游戏开始时显示对手的详细信息。

感谢您的帮助。给我指出正确的方向。

最佳答案

当您创建与随机对手的比赛时,就会发生这种情况。尝试在 iTunesConnect 中创建第二个测试用户并在第二个设备上登录该用户。

然后,向第二个测试玩家发送成为您 friend 的邀请。这将使您能够更轻松地使用多人游戏功能测试您的游戏,而无需等待找到随机匹配项。

接受好友请求后,再次尝试创建新游戏。现在,邀请您的“ friend ”加入您的游戏并开始您的回合。您现在会注意到(空)变量将 - 在大多数情况下 - 被填充。像这样的东西现在应该出现在您的日志中 -

GKTurnBasedParticipant 0xb9432e0 - playerID:G:123456789 status:Invited matchOutcome:None lastTurnDate:(null) timeoutDate:(null)

关于ios - 发送和接收 GKTurnBasedMatch 的邀请,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22929256/

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