Многопользовательское подключение MCSession Stop Advertising при подключении приводит к отключению

У меня есть простое приложение для чата, которое использует многопользовательское подключение для отправки текста туда и обратно.

Я использую 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, но я не вижу другого способа скрыть видимость во время сеанса, не вызывая разрыва сеансового соединения.

Пожалуйста, помогите Спасибо


person Manesh    schedule 02.09.2015    source источник


Ответы (1)


Вы должны установить разные сеансы для каждого узла, пытающегося подключиться к вашему хосту. Таким образом, вы сможете отклонить приглашение, не затрагивая другие подключенные сеансы.

person Tim    schedule 29.04.2016