Multipeer Connectivity автоматическое бесшумное соединение

Я пытаюсь создать какое-то приложение для iOS, которым будет управлять приложение OS X через платформу MultiPeer Connectivity. Я новичок в этой среде, но пока все работает хорошо, и мне интересно, можно ли автоматически подключаться к пиру, если соединение потеряно.

Я рассмотрел некоторые идеи здесь, на stackoverflow и других веб-сайтах, которые рекомендуют использовать MCNearbyServiceBrowserDelegate с его функцией startBrowsingForPeers(), чтобы начать поиск пиров, когда я обнаруживаю, что пир был потерян (этот метод обнаружения также хорошо работает для меня).

На следующем шаге эта функция должна вызывать функцию: browser(browser: MCNearbyServiceBrowser, foundPeer peerID: MCPeerID, withDiscoveryInfo info: [String : String]?) из MCNearbyServiceBrowserDelegate, но в моем случае похоже, что функция browser found peer никогда не вызывается. Есть идеи?

Спасибо


person Jan R.    schedule 08.05.2016    source источник
comment
Правильно ли вы устанавливаете делегата, чтобы вызывался ваш метод делегата?   -  person dgatwood    schedule 09.05.2016


Ответы (1)


@dgatwood Точно! Спасибо. Я только что нашел это. :)

Для других, если вы попадете в ту же ситуацию - вы должны правильно делегировать ее, например, в методе, который реагирует на изменение состояния пира:

appDelegate.mpcHandler.autoBrowser = MCNearbyServiceBrowser.init(peer: peerID, serviceType: "network")
appDelegate.mpcHandler.autoBrowser!.startBrowsingForPeers()
appDelegate.mpcHandler.autoBrowser!.delegate = self

Конечно, с соответствующим определением autoBrowser:MCNearbyServiceBrowser? в классе mpcHandler или другом классе, который работает с протоколом MCNearbyServiceBrowserDelegate и наследует его...

person Jan R.    schedule 09.05.2016