Ios 多点失物招领
我有一个应用程序,我正在使用Multipeer框架在一些iPad之间发送数据。我正在使用MCBrowserViewController和ConnectionViewController设置会话,所有这些都是根据苹果的示例进行的 这很有效,我可以通过两种方式发送数据 但是,如果其中一个设备的连接松动,我不知道当它被找到时,似乎无法重新连接 使用诸如广告商和浏览器之类的McNearBy服务似乎没有任何作用。LostPeer和FoundPeer从未被调用。在我的MCManager课程中,我有两个代理(广告商和浏览器)。当然我应该能够自动重新连接,当他们回到范围内或应用程序再次运行 我在@bradenm建议后尝试过这个Ios 多点失物招领,ios,multipeer-connectivity,Ios,Multipeer Connectivity,我有一个应用程序,我正在使用Multipeer框架在一些iPad之间发送数据。我正在使用MCBrowserViewController和ConnectionViewController设置会话,所有这些都是根据苹果的示例进行的 这很有效,我可以通过两种方式发送数据 但是,如果其中一个设备的连接松动,我不知道当它被找到时,似乎无法重新连接 使用诸如广告商和浏览器之类的McNearBy服务似乎没有任何作用。LostPeer和FoundPeer从未被调用。在我的MCManager课程中,我有两个代理(
-(void)reconnect
{
_myPeerID = [[MCPeerID alloc]initWithDisplayName:[UIDevice currentDevice].name];
_nearbyAdvertiser = [[MCNearbyServiceAdvertiser alloc]
initWithPeer:_myPeerID
discoveryInfo:nil
serviceType:kServiceType];
_nearbyAdvertiser.delegate = self;
_nearbyBrowser.delegate = self;
[self setAdvertising:YES];
[self setBrowsing:YES];
}
但是我没有得到任何其他方法调用(foundPeer等)我发现,在有意或无意地断开与MCSession的连接后重新使用MCFeried对象是非常有问题的,而且通常是不可能的(邀请总是失败)。对我的应用程序来说,最有效的方法是在断开连接后简单地重新创建一个新的McGerid(并使用新的McGerid重新创建一个新的MCNearbyServiceAdvertiser)。然后,您应该能够再次连接。您可以发布一些代码来显示您当前正在执行的操作吗?您不需要一次又一次地重新创建MCPEIRID对象。您可以毫无问题地重用它。