Итак, у меня в матче два игрока. Когда игрок 1 создает новое совпадение, я использую метод endTurnWithNextParticipants
и поставляю nextParticipants с помощью свойства массива участников GKTurnBasedMatch, которое состоит из двух участников.GKTurnBasedMatch не переходит к следующему игроку
Но на устройстве 1 игрока он продолжает говорить, что это ваш ход. И устройство игрока 2, оно говорит «их очередь».
- (void)endTurnWithNextParticipants:(NSArray<GKTurnBasedParticipant *> *)nextParticipants
turnTimeout:(NSTimeInterval)timeout
matchData:(NSData *)matchData
completionHandler:(void (^)(NSError *error))completionHandler
Любые предложения?
Edit:
Вот как я endTurnWithNextParticipants
. currentTurnBasedMatch
- это экземпляр GKTurnBasedMatch. Я действительно проверял, что экземпляр действительно содержит двух участников (игроков 1 и 2). И завершение не имеет никаких ошибок.
[self.currentTurnBasedMatch endTurnWithNextParticipants:self.currentTurnBasedMatch.participants turnTimeout:GKTurnTimeoutDefault matchData:data completionHandler:^(NSError * _Nullable error) {
MyNSLogSys2O(@"completion error:", error); //default 1 week timeout
}];
Просьба показать код, в котором вы создаете и заполнить массив nextParticipants. – Thunk
@Thunk: см. Мое редактирование. – EmilyJ