我有一个简单的聊天应用程序,它使用Multipeer连接来回发送文本。
我正在使用MCSessionDelegate
。
-(void)advertiseSelf:(BOOL)shouldAdvertise{
if (shouldAdvertise) {
_advertiser = [[MCAdvertiserAssistant alloc] initWithServiceType:@"messagingapp"
discoveryInfo:nil
session:_session];
[_advertiser start];
}
else{
[_advertiser stop];
_advertiser = nil;
}
}
当用户连接时,我调用以下内容:
-(void)hideSelf{
[self.swVisible setOn:NO];
[_appDelegate.mcManager advertiseSelf:_swVisible.isOn];
}
我希望该应用停止广告,因为该应用是一对一的通信应用。
问题是,这导致MCSessionStateNotConnected
我已将_browser.maximumNumberOfPeers
设置为2
但我无法看到在会话期间隐藏可见性的另一种方法,而不会导致会话连接丢失。
请帮忙 谢谢
答案 0 :(得分:0)
您应该为尝试连接到主机的每个对等方建立不同的会话。通过这样做,您可以在不影响其他连接会话的情况下拒绝邀请。