Swift MCBrowserViewController';是否在浏览器中未收到此回调消息?
我正在玩弄多个EER连接,我看到(错误?)消息,我不知道为什么会出现。这似乎也会减慢两个对等点之间的连接 我在一个单独的类中设置了MPC,并将McBrowser委托给我的游戏场景,因为我需要从那里显示浏览器,就像这样Swift MCBrowserViewController';是否在浏览器中未收到此回调消息?,swift,multipeer-connectivity,Swift,Multipeer Connectivity,我正在玩弄多个EER连接,我看到(错误?)消息,我不知道为什么会出现。这似乎也会减慢两个对等点之间的连接 我在一个单独的类中设置了MPC,并将McBrowser委托给我的游戏场景,因为我需要从那里显示浏览器,就像这样 extension GameScene: MCBrowserViewControllerDelegate { func browserViewControllerDidFinish(_ browserViewController: MCBrowserViewContro
extension GameScene: MCBrowserViewControllerDelegate {
func browserViewControllerDidFinish(_ browserViewController: MCBrowserViewController) {
browserViewController.dismiss(animated: true, completion: nil)
}
func browserViewControllerWasCancelled(_ browserViewController: MCBrowserViewController) {
browserViewController.dismiss(animated: true, completion: nil)
}
}
然后在TouchesStart中,我可以启动McBrowser来主持或“简单地”加入会话
...
//
if node.name == "join_connection" {
multipeerSession!.advertiseSelf()
}
if node.name == "host_connection" {multipeerSession!.setupBrowser()
multipeerSession!.browser.delegate = self
DispatchQueue.main.async {
let vc = self.view?.window!.rootViewController!
vc?.self.present(multipeerSession!.browser, animated: true, completion: nil)
}
}
//
......
奇怪的是,当对等点连接时,当收到数据时,浏览器显示;
“[MCBrowserViewController]MCBrowserViewController不应接收此回调”
而且不是一次,而是每次收到数据时。消息也不是每次运行应用程序时都出现,而是偶尔出现
我应该提到,我也在游戏场景中使用完成处理程序接收数据
..
//
func receivedData(_ data: Data, from peer: MCPeerID) {
// do stuff with data here
}
//
..
有人知道吗?因为谷歌只显示了这条消息的一些提及,但没有人讨论这条(错误)消息
谢谢,
J我解决了这个问题,将MCBrowserViewControllerDelegate放入我的MCP类中,并从那里启动McBrowser。仍然不知道是什么原因导致该消息出现。我注意到该消息仅在收到数据时才会出现在模拟器中。当它接收数据时,它不会出现在设备(iPhone)中。我在关闭浏览器后将其设置为零,从而消除了令人讨厌的警告<代码>浏览器?.discouse(动画:true,完成:{self.browser=nil})