Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы GameKit ссылка на протокол GKSessionDelegate

Опции
Развертывание Target:

На этой странице
Язык:

GKSessionDelegate

Наследование


Не применимый

Соответствует


Оператор импорта


Swift

import GameKit

Objective C

@import GameKit;

Доступность


Доступный в iOS 3.0 и позже.

Объект реализует GKSessionDelegate протокол для управления поведением a GKSession объект. Когда другие видимые коллеги изменяют свое состояние относительно сеанса, делегата вызывают. Это также вызывают, чтобы определить, разрешают ли другой коллеге соединиться с сеансом.

  • Полученный делегатом, когда коллега изменяет состояние. (требуемый)

    Объявление

    Swift

    optional func session(_ session: GKSession!, peer peerID: String!, didChangeState state: 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 и позже.

  • Полученный делегатом, когда удаленный узел хочет создать соединение с сеансом. (требуемый)

    Объявление

    Swift

    optional func session(_ session: GKSession!, didReceiveConnectionRequestFromPeer peerID: String!)

    Objective C

    - (void)session:(GKSession *)session didReceiveConnectionRequestFromPeer:(NSString *)peerID

    Параметры

    session

    Сеанс, получивший запрос.

    peerID

    Строка, однозначно определяющая коллегу.

    Обсуждение

    Делегат должен вызвать сеанс acceptConnectionFromPeer:error: метод, если это хочет принять соединение или denyConnectionFromPeer: метод, если это хочет отказаться от соединения.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в iOS 3.0 и позже.

  • Полученный делегатом, когда попытка соединиться с другой коллегой перестала работать. (требуемый)

    Объявление

    Swift

    optional func session(_ session: GKSession!, connectionWithPeerFailed peerID: String!, withError error: NSError!)

    Objective C

    - (void)session:(GKSession *)session connectionWithPeerFailed:(NSString *)peerID withError:(NSError *)error

    Параметры

    session

    Сеанс, получивший сообщение.

    peerID

    Строка, однозначно определяющая коллегу.

    error

    Произошедшая ошибка.

    Обсуждение

    error параметр может использоваться для информирования пользователя того, почему прервалась связь.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в iOS 3.0 и позже.

  • Отправленный делегату, когда серьезная ошибка произошла в сеансе. (требуемый)

    Объявление

    Swift

    optional func session(_ session: GKSession!, didFailWithError error: NSError!)

    Objective C

    - (void)session:(GKSession *)session didFailWithError:(NSError *)error

    Параметры

    session

    Переставший работать сеанс.

    error

    Произошедшая ошибка.

    Обсуждение

    Когда серьезная внутренняя ошибка произошла в сеансе, этот метод вызывают. Ваше приложение должно разъединить сеанс от других коллег и выпустить сеанс.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в iOS 3.0 и позже.