2016-05-08 4 views
0

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

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

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

Благодаря

+0

Правильно ли вы устанавливаете делегат, чтобы вызываемый метод делегата вызывался? – dgatwood

ответ

0

@dgatwood Yeap точно! Спасибо. Я просто нашел его. :)

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

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

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