Я пишу игру для нескольких игроков и подумал, что создам два экземпляра GKSession.Один сеанс установлен в GKSessionModeServer, а другой - в GKSessionModeClient.Сервер правильно сообщается, когда я вызываю peersWithConnectionState: на клиентском одноранговом узле, и каждый сеанс имеет разные идентификаторы одноранговых узлов.Но когда я пытаюсь подключиться к серверу, я получаю сообщение сеанса: connectionWithPeerFailed: withError: с описанием ошибки «Сбой при ожидании исходящего приглашения».
Использование двух сеансов GKS работает, когда Wi-Fi доступен.Я боюсь, что есть некоторые ограничения с Bluetooth, которые запрещают это, но я не уверен.Я мог бы переписать код, чтобы использовать один сеанс GKS на сервере, но я бы не стал кодировать особые случаи, если я знаю, что кто-то другой работает с двумя экземплярами.
Если я отключаю Wi-Fi и Bluetoothя получаю сообщение об ошибке «Сеть недоступна».который я не получаю, если любой из них включен.Это заставляет меня поверить, что это не сработает, если рядом есть другой iPhone.