我正在尝试创建一个类似于FireChat的应用程序,用户可以自动连接到Multipeer Connectivity会话,而无需发送或接收连接邀请.
我见过的所有教程都使用了MCBrowserViewController.必须可以加入会话而无需选择对等连接,并且如果Firechat将其连接,则发送和接受连接请求.
有谁知道如何做到这一点?
谢谢
解决方法
您可以使用MCNearbyServiceBrowser而不是使用MCBroswerViewController.
然后它将调用委托方法:
然后它将调用委托方法:
- (void)browser:(MCNearbyServiceBrowser *)browser foundPeer:(MCPeerID *)peerID withDiscoveryInfo:(NSDictionary *)info;
然后,您可以自动发送邀请,例如:
[browser invitePeer:peerID toSession:self.session withContext:nil timeout:10];
然而,在这样做的过程中,我遇到了许多其他问题.到目前为止似乎:
>如果两个设备都发送邀请并接受它们,那么它们会很快随机断开连接.
>如果两台设备同时进行广告和广播,则会随机断开连接.
我现在正在开发一个开源库,试着完全按照你的要求去做:连接没有任何邀请或浏览器的设备(没有用户界面).
这是:https://github.com/plivesey/PLPartyTime
但是,它还没有工作.我还没有完全解决上述两个问题,但是如果你想查看代码并看看你能解决什么问题,那就去吧.请让我知道您取得的任何进展.处理这个框架令人沮丧……