Пошаговые совпадения GameKit и ошибка связи с сервером
При отправке хода, endTurnWithNextParticipants часто (возможно, 30%-50% времени) дает: Ошибка Domain=GKErrorDomain Code=3 "Запрошенная операция не может быть завершена из-за ошибки связи с сервером." Однако после отправки хода и получения этой ошибки, с точки зрения игрока, отправившего ход, кажется, что ход был успешно отправлен. Отправляющий игрок может перезагрузить матч. Данные о совпадениях, загруженные из GC, совпадают с данными о совпадениях, которые были только что отправлены. Но, похоже, что если это первый ход в матче, то следующий участник не получил этот ход. Тем не менее, если это не первый ход в матче, для следующего участника ход, как правило, все еще принимается, несмотря на ошибку. Таким образом, кажется, что есть только серьезная проблема, когда вы получаете эту ошибку и пытаетесь отправить первый ход в матче. Это не было проблемой для меня в iOS8, но теперь в iOS9. Кто-нибудь видел такую проблему (и подобные проблемы с пошаговым соединением серверов совпадений в iOS9)? Что я могу сделать, чтобы обойти эту проблему?
1 ответ
Попробуйте посмотреть на основную ошибку:
NSDictionary *uInfo = error.userInfo;
NSError *underError = [uInfo objectForKey:NSUnderlyingErrorKey];
NSLog("UnderError: %d, %@", underError.code, underError.description);
И проверка underError.code и underError.description для получения дополнительной информации. Я видел, как ошибка верхнего уровня возвращала общие ошибки, но основная ошибка точно говорит вам, в чем заключается настоящая проблема.