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

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

Разработчик

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

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

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

GKMatchmaker

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


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


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


Swift

import GameKit

Objective C

@import GameKit;

Доступность


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

GKMatchmaker класс используется, чтобы программно создать соответствия к другим проигрывателям и получить приглашения соответствия, отправленные другими проигрывателями.

Соответствия могут быть или одноранговыми или размещены. Одноранговое соответствие полностью поддерживается в Гэйме Ките GKMatch класс. A GKMatch объект обеспечивает все сетевые соединения между устройствами и направляет сетевые данные через Игровой Центр при необходимости. Напротив, размещенное соответствие использует matchmaking для нахождения проигрывателей для соответствия, но игра реализует свои собственные сети между участниками, направляющими через собственный сервер при необходимости.

Для получения приглашений из других проигрывателей игра должна обеспечить обработчик приглашения. После того, как Ваша игра успешно аутентифицирует местного игрока, она должна сразу установить inviteHandler свойство. Если Ваша игра была запущена в ответ на уведомление нажатия, пригласить обработчик сразу вызывают.

Чтобы программно искать другие проигрыватели запустите путем создания a GKMatchRequest объект, описывающий соответствие, которым Вы интересуетесь. Затем вызовите совместно используемого антрепренера findMatchForRequest:withCompletionHandler: метод для создания однорангового соответствия или findPlayersForHostedMatchRequest:withCompletionHandler: метод для создания размещенного соответствия. В любом случае Игровой Центр соответствует проигрыватели в соответствие и вызывает Ваш обработчик завершения. Если соответствие не имеет достаточного количества проигрывателей (например, Вы пригласили определенный список проигрывателей, и некоторые отклонили приглашение), можно создать другой запрос соответствия и вызвать addPlayersToMatch:matchRequest:completionHandler: метод для добавления большего количества участников к соответствию. Как только соответствие завершено, вызовите finishMatchmakingForMatch: метод.

Если Вы реализуете программируемый matchmaking и приглашаете определенные проигрыватели в соответствие, необходимо также реализовать обработчик ответа приглашенного. Этот обработчик уведомляется, поскольку приглашения обрабатываются, позволяя Вам обновить настроенный пользовательский интерфейс Вашей игры для отображения, какие плееры подключаются к соответствию.

  • Возвращает одноэлементного антрепренера экземпляр.

    Объявление

    Swift

    class func sharedMatchmaker() -> GKMatchmaker!

    Objective C

    + (GKMatchmaker *)sharedMatchmaker

    Возвращаемое значение

    Совместно используемый экземпляр антрепренера.

    Обсуждение

    Игры не создают a GKMatchmaker объект. Вместо этого они получают совместно используемый одиночный элемент путем вызова этого метода.

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

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

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

  • Создает соответствие из принятого приглашения.

    Объявление

    Swift

    func matchForInvite(_ invite: GKInvite!, completionHandler completionHandler: ((GKMatch!, NSError!) -> Void)!)

    Objective C

    - (void)matchForInvite:(GKInvite *)invite completionHandler:(void (^)(GKMatch *match, NSError *error))completionHandler

    Параметры

    invite

    Приглашение принято проигрывателем.

    completionHandler

    Блок, который вызовут, когда было создано соответствие. Этот блок получает следующие параметры:

    match

    Если соответствие успешно создавалось, этот параметр содержит создаваемое соответствие. Иначе, этот параметр nil.

    error

    Если соответствие успешно создавалось, этот параметр содержит nil. Иначе, этот параметр содержит ошибочный объект, описывающий произошедшую ошибку.

    Обсуждение

    При использовании этого метода для создания соответствия игра должна вывести на экран свой собственный пользовательский интерфейс, чтобы сообщить проигрывателю, что он или она был подключен к соответствию.

    Когда этот метод вызывают, он создает новую фоновую задачу для обрабатывания запроса. Метод тогда возвращает управление Вашей игре. Позже, когда задача завершена, Гэйм Кит вызывает Ваш обработчик завершения. Обработчик завершения всегда вызывают на основном потоке.

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

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

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

    См. также

    inviteHandler

  • inviteHandler (iOS 7.0) Свойство

    Блок, который вызовут, когда приглашение присоединиться к соответствию принято местным игроком.

    Объявление

    Objective C

    @property(nonatomic, copy) void (^inviteHandler)( GKInvite *acceptedInvite, NSArray *playerIDsToInvite)

    Обсуждение

    Блок берет следующие параметры:

    acceptedInvite

    Приглашение принято проигрывателем.

    playerIDsToInvite

    Массив NSString объекты, содержащие идентификаторы проигрывателя для дополнительных проигрывателей для приглашения в игру.

    Ваш блок должен реагировать на приглашение одним из двух способов:

    • Выведите на экран стандартный пользовательский интерфейс путем инициализации нового GKMatchmakerViewController объект, передавая объект приглашения и список идентификаторов проигрывателя как параметры.

    • Создайте соответствие программно путем вызова matchForInvite:completionHandler: метод на совместно используемом экземпляре антрепренера.

    Если Ваша игра получает приглашение, в то время как она уже работает, она должна перейти к многопользовательской игре. Это должно очистить любое существующее содержание, такое как заканчивание текущего матча, который играет проигрыватель, и затем обработайте приглашение.

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

    Objective C

    @import GameKit;

    Доступность

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

    Осуждаемый в iOS 7.0.

  • Добавляют проигрыватели к существующему соответствию.

    Объявление

    Swift

    func addPlayersToMatch(_ match: GKMatch!, matchRequest matchRequest: GKMatchRequest!, completionHandler completionHandler: ((NSError!) -> Void)!)

    Objective C

    - (void)addPlayersToMatch:(GKMatch *)match matchRequest:(GKMatchRequest *)matchRequest completionHandler:(void (^)(NSError *error))completionHandler

    Параметры

    match

    Ранее создаваемое соответствие.

    matchRequest

    Параметры для нового запроса соответствия.

    completionHandler

    Блок, который вызовут, когда завершается matchmaking.

    Блок берет следующий параметр:

    error

    Если matchmaking был успешен, этот параметр содержит nil. Иначе, этот параметр содержит ошибочный объект, описывающий произошедшую ошибку.

    Обсуждение

    Этот метод обновляет существующий объект соответствия путем добавления дополнительных проигрывателей.

    Когда этот метод вызывают, он создает новую фоновую задачу для обрабатывания запроса. Метод тогда возвращает управление Вашей игре. Позже, когда задача завершена, Гэйм Кит вызывает Ваш обработчик завершения. Обработчик завершения всегда вызывают на основном потоке.

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

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

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

  • Отменяет ожидание matchmaking запрос.

    Объявление

    Swift

    func cancel()

    Objective C

    - (void)cancel

    Обсуждение

    Обработчик завершения получает обратный вызов с a GKErrorCancelled ошибка.

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

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

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

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

    Объявление

    Swift

    func cancelPendingInviteToPlayer(_ player: GKPlayer!)

    Objective C

    - (void)cancelPendingInviteToPlayer:(GKPlayer *)player

    Параметры

    player

    GKPlayer объект, идентифицирующий проигрыватель, ранее приглашенный в соответствие.

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

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

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

  • Подает заявку для нахождения проигрывателей для однорангового соответствия.

    Объявление

    Swift

    func findMatchForRequest(_ request: GKMatchRequest!, withCompletionHandler completionHandler: ((GKMatch!, NSError!) -> Void)!)

    Objective C

    - (void)findMatchForRequest:(GKMatchRequest *)request withCompletionHandler:(void (^)(GKMatch *match, NSError *error))completionHandler

    Параметры

    request

    Конфигурация для желаемого соответствия.

    completionHandler

    Блок, который вызовут, когда было создано соответствие. Этот блок получает следующие параметры:

    match

    Если matchmaking был успешен, этот параметр содержит создаваемое соответствие. Иначе, этот параметр nil.

    error

    Если matchmaking был успешен, этот параметр содержит nil. Иначе, этот параметр содержит ошибочный объект, описывающий произошедшую ошибку.

    Обсуждение

    Когда этот метод вызывают, он создает новую фоновую задачу для обрабатывания запроса. Метод тогда возвращает управление Вашей игре. Позже, когда задача завершена, Гэйм Кит вызывает Ваш обработчик завершения. Обработчик завершения всегда вызывают на основном потоке.

    На iOS 6, если запрос соответствия playersToInvite свойство не -NIL, Игровой Центр отсылает приглашения только в проигрыватели, перечисленные в свойстве. Если playersToInvite свойство NIL, тогда это ищет любые проигрыватели ожидания, соответствующие запрос. Если Ваша игра хочет выполнить программируемый matchmaking для остающихся слотов, это должно вызвать addPlayersToMatch:matchRequest:completionHandler: метод с соответствием запрашивает чей playersToInvite свойство NIL.

    До iOS 6, запрос соответствия playersToInvite свойство проигнорировано, и этот метод только ищет доступные проигрыватели.

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

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

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

    См. также

    – отмена

  • Подает заявку для нахождения проигрывателей для размещенного соответствия.

    Объявление

    Swift

    func findPlayersForHostedRequest(_ request: GKMatchRequest!, withCompletionHandler completionHandler: (([AnyObject]!, NSError!) -> Void)!)

    Objective C

    - (void)findPlayersForHostedRequest:(GKMatchRequest *)request withCompletionHandler:(void (^)(NSArray *players, NSError *error))completionHandler

    Параметры

    request

    Конфигурация для желаемого соответствия.

    completionHandler

    Блок, который вызовут, когда было создано соответствие. Этот блок получает следующие параметры:

    players

    Если matchmaking был успешен, этот параметр содержит массив GKPlayer объекты, содержащие проигрыватели для соединения в соответствие. Иначе, этот параметр nil.

    error

    Если matchmaking был успешен, этот параметр содержит nil. Иначе, этот параметр содержит ошибочный объект, описывающий произошедшую ошибку.

    Обсуждение

    Когда этот метод вызывают, он создает новую фоновую задачу для обрабатывания запроса. Метод тогда возвращает управление Вашей игре. Позже, когда задача завершена, Гэйм Кит вызывает Ваш обработчик завершения. Обработчик завершения всегда вызывают на основном потоке. Когда Ваш обработчик завершения вызывают, Ваша игра должна подключить те плееры к Вашему собственному серверу.

    На iOS 6, если запрос соответствия playersToInvite свойство не -NIL, Игровой Центр отсылает приглашения только в проигрыватели, перечисленные в свойстве. Если playersToInvite свойство NIL, тогда это ищет любые проигрыватели ожидания, соответствующие запрос. До iOS 6, запрос соответствия playersToInvite свойство проигнорировано, и этот метод только ищет доступные проигрыватели.

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

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

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

  • Сообщает Игровому Центру, что закончился программируемый matchmaking.

    Объявление

    Swift

    func finishMatchmakingForMatch(_ match: GKMatch!)

    Objective C

    - (void)finishMatchmakingForMatch:(GKMatch *)match

    Параметры

    match

    Соответствие, завершившее процесс matchmaking.

    Обсуждение

    Если Ваша игра использует программируемый matchmaking, она делает серию вызовов к findMatchForRequest:withCompletionHandler: и addPlayersToMatch:matchRequest:completionHandler: методы для заполнения соответствия проигрывателями. Когда соответствие будет иметь надлежащее число игроков, вызовитеfinishMatchmakingForMatch: метод прежде, чем начать матч.

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

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

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

  • Инициирует поиск действия во всех группах проигрывателя.

    Объявление

    Swift

    func queryActivityWithCompletionHandler(_ completionHandler: ((Int, NSError!) -> Void)!)

    Objective C

    - (void)queryActivityWithCompletionHandler:(void (^)(NSInteger activity, NSError *error))completionHandler

    Параметры

    completionHandler

    Блок, берущий следующие параметры:

    activity

    Число соответствия запрашивает на все группы проигрывателя в течение предыдущих 60 секунд.

    error

    Если поиск завершился успешно, этот параметр nil; иначе, этот параметр содержит ошибочный объект, описывающий произошедшую ошибку.

    Обсуждение

    Запрос позволяет Вашей игре видеть, сколько проигрывателей недавно искало соответствие через все группы проигрывателя.

    Когда этот метод вызывают, он создает новую фоновую задачу для обрабатывания запроса. Метод тогда возвращает управление Вашей игре. Позже, когда задача завершена, Гэйм Кит вызывает Ваш обработчик завершения. Обработчик завершения всегда вызывают на основном потоке.

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

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

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

  • Игровой Центр запросов действия в группе проигрывателя.

    Объявление

    Swift

    func queryPlayerGroupActivity(_ playerGroup: Int, withCompletionHandler completionHandler: ((Int, NSError!) -> Void)!)

    Objective C

    - (void)queryPlayerGroupActivity:(NSUInteger)playerGroup withCompletionHandler:(void (^)(NSInteger activity, NSError *error))completionHandler

    Параметры

    playerGroup

    Число, однозначно определяющее подмножество игроков Вашей игры.

    completionHandler

    Блок, который вызывают, когда завершается поиск. Блок берет следующие параметры:

    activity

    Число соответствия запрашивает на группу проигрывателя в течение предыдущих 60 секунд.

    error

    Если поиск завершился успешно, этот параметр nil; иначе, этот параметр содержит ошибочный объект, описывающий произошедшую ошибку.

    Обсуждение

    Запрос позволяет Вашей игре видеть, сколько проигрывателей недавно искало соответствие. В результате можно представить пользовательский интерфейс, показывающий относительное действие в каждой группе проигрывателя. Например, если одна группа видит меньше действия, чем другие, Вы могли бы вывести на экран предупреждение так, чтобы проигрыватели знали, что нахождение соответствия может занять больше времени.

    Когда этот метод вызывают, он создает новую фоновую задачу для обрабатывания запроса. Метод тогда возвращает управление Вашей игре. Позже, когда задача завершена, Гэйм Кит вызывает Ваш обработчик завершения. Обработчик завершения всегда вызывают на основном потоке.

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

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

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

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

    Объявление

    Swift

    func cancelInviteToPlayer(_ playerID: String!)

    Objective C

    - (void)cancelInviteToPlayer:(NSString *)playerID

    Параметры

    playerID

    Идентификатор проигрывателя для проигрывателя, ранее приглашенного в соответствие.

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

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

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

    Осуждаемый в iOS 8.0.

  • Подает заявку для нахождения проигрывателей для размещенного соответствия.

    Объявление

    Swift

    func findPlayersForHostedMatchRequest(_ request: GKMatchRequest!, withCompletionHandler completionHandler: (([AnyObject]!, NSError!) -> Void)!)

    Objective C

    - (void)findPlayersForHostedMatchRequest:(GKMatchRequest *)request withCompletionHandler:(void (^)(NSArray *playerIDs, NSError *error))completionHandler

    Параметры

    request

    Конфигурация для желаемого соответствия.

    completionHandler

    Блок, который вызовут, когда было создано соответствие. Этот блок получает следующие параметры:

    playerIDs

    Если matchmaking был успешен, этот параметр содержит массив NSString объекты, содержащие проигрыватели для соединения в соответствие. Иначе, этот параметр nil.

    error

    Если matchmaking был успешен, этот параметр содержит nil. Иначе, этот параметр содержит ошибочный объект, описывающий произошедшую ошибку.

    Обсуждение

    Когда этот метод вызывают, он создает новую фоновую задачу для обрабатывания запроса. Метод тогда возвращает управление Вашей игре. Позже, когда задача завершена, Гэйм Кит вызывает Ваш обработчик завершения. Обработчик завершения всегда вызывают на основном потоке. Когда Ваш обработчик завершения вызывают, Ваша игра должна подключить те плееры к Вашему собственному серверу.

    На iOS 6, если запрос соответствия playersToInvite свойство не -NIL, Игровой Центр отсылает приглашения только в проигрыватели, перечисленные в свойстве. Если playersToInvite свойство NIL, тогда это ищет любые проигрыватели ожидания, соответствующие запрос. До iOS 6, запрос соответствия playersToInvite свойство проигнорировано, и этот метод только ищет доступные проигрыватели.

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

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

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

    Осуждаемый в iOS 8.0.

    См. также

    – отмена

  • Позволяет процессу matchmaking найти соседние проигрыватели через Bluetooth или WiFi (только та же подсеть).

    Объявление

    Swift

    func startBrowsingForNearbyPlayersWithHandler(_ reachableHandler: ((GKPlayer!, Bool) -> Void)!)

    Objective C

    - (void)startBrowsingForNearbyPlayersWithHandler:(void (^)(GKPlayer *player, BOOL reachable))reachableHandler

    Параметры

    reachableHandler

    Когда достижимость для проигрывателя изменяется, блок вызвал. Блок берет следующие параметры:

    player

    GKPlayer объект, идентифицирующий проигрыватель, состояние достижимости которого изменилось.

    reachable

    YEStrue если новый проигрыватель был обнаружен локально, NOfalse если исчез ранее обнаруженный проигрыватель.

    Обсуждение

    Вы только используете этот метод при реализации программируемого matchmaking. После включения просмотра для соседних проигрывателей используйте ответы для заполнения пользовательского интерфейса с информацией о соседних проигрывателях. Если проигрыватель хочет пригласить проигрыватель в игру, добавьте, что идентификатор проигрывателя проигрывателя к запросу соответствия и вызывает любого findMatchForRequest:withCompletionHandler: создать соответствие или addPlayersToMatch:matchRequest:completionHandler: метод для обновления соответствия.

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

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

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

  • Заканчивает поиск соседних проигрывателей.

    Объявление

    Swift

    func stopBrowsingForNearbyPlayers()

    Objective C

    - (void)stopBrowsingForNearbyPlayers

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

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

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

  • Позволяет процессу matchmaking найти соседние проигрыватели через Bluetooth или WiFi (только та же подсеть).

    Объявление

    Swift

    func startBrowsingForNearbyPlayersWithReachableHandler(_ reachableHandler: ((String!, Bool) -> Void)!)

    Objective C

    - (void)startBrowsingForNearbyPlayersWithReachableHandler:(void (^)(NSString *playerID, BOOL reachable))reachableHandler

    Параметры

    reachableHandler

    Когда достижимость для проигрывателя изменяется, блок вызвал. Блок берет следующие параметры:

    playerID

    Идентификатор проигрывателя для проигрывателя, состояние достижимости которого изменилось.

    reachable

    YEStrue если новый проигрыватель был обнаружен локально, NOfalse если исчез ранее обнаруженный проигрыватель.

    Обсуждение

    Вы только используете этот метод при реализации программируемого matchmaking. После включения просмотра для соседних проигрывателей используйте ответы для заполнения пользовательского интерфейса с информацией о соседних проигрывателях. Если проигрыватель хочет пригласить проигрыватель в игру, добавьте, что идентификатор проигрывателя проигрывателя к запросу соответствия и вызывает любого findMatchForRequest:withCompletionHandler: создать соответствие или addPlayersToMatch:matchRequest:completionHandler: метод для обновления соответствия.

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

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

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

    Осуждаемый в iOS 8.0.