MCSessionDelegate
Наследование
Не применимый
Оператор импорта
Swift
import MultipeerConnectivity
Objective C
@import MultipeerConnectivity;
Доступность
Доступный в iOS 7.0 и позже.
MCSessionDelegate
протокол определяет методы что делегат MCSession
класс может реализовать для обработки связанных с сеансом событий. Для получения дополнительной информации см. Ссылку класса MCSession.
-
Указывает что
NSData
объект был получен от соседней коллеги. (требуемый)Объявление
Параметры
session
Сеанс, через который были получены данные.
data
Объект, содержащий полученные данные.
peerID
Коллега ID отправителя.
Оператор импорта
Objective C
@import MultipeerConnectivity;
Swift
import MultipeerConnectivity
Доступность
Доступный в iOS 7.0 и позже.
-
сеанс (_: didStartReceivingResourceWithName:fromPeer:withProgress:) - session:didStartReceivingResourceWithName:fromPeer:withProgress:
ТребуемыйУказывает, что локальный узел начал получать ресурс от соседней коллеги. (требуемый)
Объявление
Swift
func session(_
session
: MCSession!, didStartReceivingResourceWithNameresourceName
: String!, fromPeerpeerID
: MCPeerID!, withProgressprogress
: NSProgress!)Objective C
- (void)session:(MCSession *)
session
didStartReceivingResourceWithName:(NSString *)resourceName
fromPeer:(MCPeerID *)peerID
withProgress:(NSProgress *)progress
Параметры
session
Сеанс, начавший получать ресурс.
resourceName
Имя ресурса, в соответствии с отправителем.
peerID
Коллега отправителя ID.
progress
NSProgress
объект, который может использоваться для отмены передачи или запрашиваться, чтобы определить, как далеко развилась передача.Оператор импорта
Objective C
@import MultipeerConnectivity;
Swift
import MultipeerConnectivity
Доступность
Доступный в iOS 7.0 и позже.
-
сеанс (_: didFinishReceivingResourceWithName:fromPeer:atURL:withError:) - session:didFinishReceivingResourceWithName:fromPeer:atURL:withError:
ТребуемыйУказывает, что локальный узел закончил получать ресурс от соседней коллеги. (требуемый)
Объявление
Параметры
session
Сеанс, через который были получены данные.
resourceName
Имя ресурса, в соответствии с отправителем.
peerID
Коллега ID отправителя.
localURL
NSURL
объект, обеспечивающий расположение временного файла, содержащего полученные данные.error
Ошибочное указание объекта, что пошло не так, как надо, если файл не был получен успешно, или
nil
.Обсуждение
Файл, на который ссылаются
resourceURL
временный файл. Ваше приложение должно или считать файл или сделать копию в постоянном расположении перед этим методом делегата возвраты.Оператор импорта
Objective C
@import MultipeerConnectivity;
Swift
import MultipeerConnectivity
Доступность
Доступный в iOS 7.0 и позже.
-
сеанс (_: didReceiveStream:withName:fromPeer:) - session:didReceiveStream:withName:fromPeer:
ТребуемыйВызванный, когда соседняя коллега открывает соединение потока байтов с локальным узлом. (требуемый)
Объявление
Swift
func session(_
session
: MCSession!, didReceiveStreamstream
: NSInputStream!, withNamestreamName
: String!, fromPeerpeerID
: MCPeerID!)Objective C
- (void)session:(MCSession *)
session
didReceiveStream:(NSInputStream *)stream
withName:(NSString *)streamName
fromPeer:(MCPeerID *)peerID
Параметры
session
Сеанс, через который был открыт поток байтов.
stream
NSInputStream
объект, представляющий локальную конечную точку для потока байтов.streamName
Имя потока, в соответствии с инициатором.
peerID
Коллега ID инициатора потока.
Оператор импорта
Objective C
@import MultipeerConnectivity;
Swift
import MultipeerConnectivity
Доступность
Доступный в iOS 7.0 и позже.
-
Вызванный, когда изменяется состояние соседней коллеги. (требуемый)
Объявление
Swift
func session(_
session
: MCSession!, peerpeerID
: MCPeerID!, didChangeStatestate
: MCSessionState)Objective C
- (void)session:(MCSession *)
session
peer:(MCPeerID *)peerID
didChangeState:(MCSessionState)state
Параметры
session
Сеанс, управляющий соседней коллегой, состояние которой изменилось.
peerID
ID соседней коллеги, состояние которой изменилось.
state
Новое состояние соседней коллеги.
Обсуждение
Этот метод делегата вызывают со следующими значениями состояния когда изменения состояния соседней коллеги:
MCSessionStateConnected
— соседняя коллега приняла приглашение и теперь подключена к сеансу.MCSessionStateNotConnected
— соседняя коллега отклонила приглашение, соединение не могло быть установлено, или ранее связанная коллега больше не соединяется.
Оператор импорта
Objective C
@import MultipeerConnectivity;
Swift
import MultipeerConnectivity
Доступность
Доступный в iOS 7.0 и позже.
-
сеанс (_: didReceiveCertificate:fromPeer:certificateHandler:) - session:didReceiveCertificate:fromPeer:certificateHandler:
Вызванный для проверки клиентского сертификата, предоставленного коллегой, когда сначала установлено соединение.
Объявление
Параметры
session
Сеанс, к которому соседняя коллега хочет присоединиться.
certificate
Цепочка сертификата, представленная как массив объектов сертификата SecCertificateRef. Первый сертификат в этой цепочке является сертификатом коллеги, полученным из идентификационных данных, которые обеспечила коллега, когда это вызвало
initWithPeer:securityIdentity:encryptionPreference:
метод. Другие сертификаты являются (дополнительными) дополнительными цепочечными сертификатами, предоставленными в том же самом массиве.Если соседняя коллега не обеспечивала идентификационные данные безопасности, то значение этого параметра
nil
.peerID
Коллега ID отправителя.
certificateHandler
Ваше приложение должно вызвать этот обработчик со значением
YES
true
если соседней коллеге нужно разрешить присоединиться к сеансу, илиNO
false
иначе.Обсуждение
Ваше приложение должно проверить сертификат соседней коллеги, и затем должно решить, доверять ли тому сертификату. После создания того определения Ваше приложение должно вызвать предоставленное
certificateHandler
блок, передавая такжеYES
true
(для доверия соседней коллеге) илиNO
false
(для отклонения его).Для получения информации о проверке сертификатов считайте Руководство по Криптографическим службам.
Оператор импорта
Objective C
@import MultipeerConnectivity;
Swift
import MultipeerConnectivity
Доступность
Доступный в iOS 7.0 и позже.