在我的GKTurnBasedMatch中,如果有玩家退出,则将回合传递给第二位玩家。由于这只是两人游戏,因此我会在收到通知后自动使他们获胜。
但是由于某些原因,“应用程序图标”标志仍显示1条通知?我不确定为什么还没有解决?
这是当其他玩家退出的通知通过时我要运行的内容:
func CheckForWin (matchToCheck: GKTurnBasedMatch) {
for opponent in matchToCheck.participants {
if opponent.matchOutcome == .quit {
matchToCheck.currentParticipant?.matchOutcome = .won
matchToCheck.endMatchInTurn(withMatch: Data()) { (error) in
// All Done, load the matches again...
}
}
}
}
更新:仍然没有运气,所以我不得不进行创可贴修复,而不是结束比赛,我只是让最后剩下的一名球员也退出了比赛结果胜出。我认为比赛结束了吗?但是我找不到endMatchInTurn和所有玩家退出比赛时的区别。