Multipeer Connectivity: получение приглашения принято (с помощью встроенного в браузер VC)

я пытаюсьследите за докладом WWDC чтобы узнать о структуре MultipeerConnectivity. После многих неудачных попыток браузер (-ы) показывают одноранговые узлы, и приглашения выдаются.

Но когда я нажимаюПринять» на одноранговом устройстве браузер продолжает показыватьПодключение» без конца. Я думал, чтоMCBrowserViewController позаботился о логике, и я мог расслабиться, пока браузерПользователь нажал «Отмена» или «Готово», и метод делегата сработал. Держу париЧто-то очевидное, но этоускользает от меня

Вот'Я надеюсь, что это соответствующий код. У меня есть это в AppDelegate. Операторы NSLog в различных методах делегатов вызываются так, как я ожидал:кроме одного вbrowserViewControllerDidFinish: конечно.

Имейте в виду, что браузер и приглашения появляются, поэтомучто-то правильно!

В @interface ...

@property   (strong, nonatomic) MCSession   *theSession;
@property   (strong, nonatomic) MCAdvertiserAssistant       *assistant;
@property   (strong, nonatomic) MCBrowserViewController     *browserVC;

В @implementation

static    NSString* const    kServiceType = @"eeps-multi";

// called from viewDidAppear in the main ViewController

-(void)     startSession
{
    if (!self.theSession) {
        UIDevice *thisDevice = [UIDevice currentDevice];

        MCPeerID *aPeerID = [[ MCPeerID alloc ] initWithDisplayName: thisDevice.name];
        self.theSession = [[ MCSession alloc ] initWithPeer: aPeerID ];
        self.theSession.delegate = self;
    } else {
        NSLog(@"Session init skipped -- already exists");
    }
}

// called from viewDidAppear in the main ViewController

- (void)    startAdvertising
    {
    if (!self.assistant) {
        self.assistant = [[MCAdvertiserAssistant alloc] initWithServiceType:kServiceType
                                                              discoveryInfo:nil
                                                                    session:self.theSession ];
        self.assistant.delegate = self;
        [ self.assistant start ];
    } else {
        NSLog(@"Advertiser init skipped -- already exists");
    }
}

// called from the main ViewController in response to a button press

- (void)    startBrowsing
{
    if (!self.browserVC){
        self.browserVC = [[MCBrowserViewController alloc] initWithServiceType:kServiceType 
                                                                      session:self.theSession];
        self.browserVC.delegate = self;
    } else {
        NSLog(@"Browser VC init skipped -- already exists");
    }

    [ self.window.rootViewController presentViewController:self.browserVC animated:YES completion:nil];
}

Заранее спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос