Multipeer Connectivity 自动静默连接

Posted

技术标签:

【中文标题】Multipeer Connectivity 自动静默连接【英文标题】:Multipeer Connectivity automatic silent connection 【发布时间】:2016-05-08 20:05:24 【问题描述】:

我正在尝试创建一些 ios 应用程序,这些应用程序可由 OS X 应用程序通过 MultiPeer Connectivity 框架进行管理。我是这个框架的新手,但到目前为止一切正常,我想知道如果连接丢失是否可以自动连接到对等体。

我在***和其他网站上浏览了一些想法,建议使用MCNearbyServiceBrowserDelegate及其函数startBrowsingForPeers()在我检测到对等点丢失时开始浏览对等点(这个检测对我也很有效) .

在下一步中,这个函数应该调用一个函数:browser(browser: MCNearbyServiceBrowser, foundPeer peerID: MCPeerID, withDiscoveryInfo info: [String : String]?) from MCNearbyServiceBrowserDelegate,但在我的例子中,看起来函数browser found peer 从未被调用过。有什么想法吗?

谢谢

【问题讨论】:

您是否正确设置了委托以便调用您的委托方法? 【参考方案1】:

@dgatwood 没错!谢谢你。我刚找到它。 :)

对于其他人,如果您遇到相同的情况 - 您必须正确委派它,例如在对改变对等状态做出反应的方法中:

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

当然,在 mpcHandler 类或其他使用并继承 MCNearbyServiceBrowserDelegate 协议的类中适当定义 autoBrowser:MCNearbyServiceBrowser? ...

【讨论】:

以上是关于Multipeer Connectivity 自动静默连接的主要内容,如果未能解决你的问题,请参考以下文章

Multipeer Connectivity foundDevice 两次

如何检测 Multipeer Connectivity 邀请的拒绝?

无法通过 Multipeer Connectivity 连接蓝牙

如何使用swift 4查看Multipeer Connectivity框架中的MCBrowserViewController

如何使用 Multipeer Connectivity 安全地停止发送图像

通过 Multipeer Connectivity 发送 MPMediaItem