GKSessionDelegate
Наследование
Не применимый
Оператор импорта
Swift
import GameKit
Objective C
@import GameKit;
Доступность
Доступный в iOS 3.0 и позже.
Объект реализует GKSessionDelegate
протокол для управления поведением a GKSession
объект. Когда другие видимые коллеги изменяют свое состояние относительно сеанса, делегата вызывают. Это также вызывают, чтобы определить, разрешают ли другой коллеге соединиться с сеансом.
-
Полученный делегатом, когда коллега изменяет состояние. (требуемый)
Объявление
Swift
optional func session(_
session
: GKSession!, peerpeerID
: String!, didChangeStatestate
: GKPeerConnectionState)Objective C
- (void)session:(GKSession *)
session
peer:(NSString *)peerID
didChangeState:(GKPeerConnectionState)state
Параметры
session
Сеанс, получивший обновление.
peerID
Строка, идентифицирующая коллегу.
state
Состояние коллега изменилось на.
Обсуждение
Сеанс вызывает этот метод каждый раз, когда видимая коллега изменяет его состояние относительно себя. Меры, которые должен принять Ваш делегат, зависят, на каком состоянии коллега переместилась в.
Когда коллега сначала становится видимой к сеансу, это появляется с состоянием
GKPeerStateAvailable
. Ваше приложение должно показать этой коллеге в его пользовательском интерфейсе. Если коллега изменяет его состояние наGKPeerStateUnavailable
, это больше не принимает запросы на установление соединения, и Ваше приложение должно удалить его из пользовательского интерфейса.Делегат должен проигнорировать
GKPeerStateConnecting
изменения и реализацияsession:didReceiveConnectionRequestFromPeer:
метод вместо этого.Когда коллега соединяется (
GKPeerStateConnected
), Ваше приложение может отправить данные коллеге и получить данные от коллеги. Если соединение с коллегой потеряно или если коллега сознательно разъединяется (GKPeerStateDisconnected
), Ваше приложение должно прекратить отправлять сообщения этой коллеге.
Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в iOS 3.0 и позже.
-
сеанс (_: didReceiveConnectionRequestFromPeer:) - session:didReceiveConnectionRequestFromPeer:
ТребуемыйПолученный делегатом, когда удаленный узел хочет создать соединение с сеансом. (требуемый)
Объявление
Swift
optional func session(_
session
: GKSession!, didReceiveConnectionRequestFromPeerpeerID
: String!)Параметры
session
Сеанс, получивший запрос.
peerID
Строка, однозначно определяющая коллегу.
Обсуждение
Делегат должен вызвать сеанс
acceptConnectionFromPeer:error:
метод, если это хочет принять соединение илиdenyConnectionFromPeer:
метод, если это хочет отказаться от соединения.Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в iOS 3.0 и позже.
-
сеанс (_: connectionWithPeerFailed:withError:) - session:connectionWithPeerFailed:withError:
ТребуемыйПолученный делегатом, когда попытка соединиться с другой коллегой перестала работать. (требуемый)
Объявление
Параметры
session
Сеанс, получивший сообщение.
peerID
Строка, однозначно определяющая коллегу.
error
Произошедшая ошибка.
Обсуждение
error
параметр может использоваться для информирования пользователя того, почему прервалась связь.Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в iOS 3.0 и позже.
-
Отправленный делегату, когда серьезная ошибка произошла в сеансе. (требуемый)
Объявление
Swift
optional func session(_
session
: GKSession!, didFailWithErrorerror
: NSError!)Параметры
session
Переставший работать сеанс.
error
Произошедшая ошибка.
Обсуждение
Когда серьезная внутренняя ошибка произошла в сеансе, этот метод вызывают. Ваше приложение должно разъединить сеанс от других коллег и выпустить сеанс.
Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в iOS 3.0 и позже.