1

我有一个简单的聊天应用程序,它使用 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.maximumNumberOfPeers2但我看不到在会话期间隐藏可见性而不会导致会话连接断开的另一种方法。

请帮忙谢谢

4

1 回答 1

0

您应该为每个尝试连接到您的主机的对等方建立不同的会话。通过这样做,您将能够拒绝邀请,而不会影响其他连接的会话。

于 2016-04-29T06:04:02.887 回答