Не удается подключить третье устройство к AppleTV через Bluetooth

Я настраиваю приложение, которое использует до 3 внешних iPhone в качестве контроллеров через Bluetooth. Вроде все настроено правильно, и первые 2 устройства будут подключаться нормально, но как только я пытаюсь подключить третий айфон, он отказывается к нему подключаться.

Есть ли какие-то ограничения или проблемы с моим кодом? Почему третье устройство не может подключиться?

- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary<NSString *,id> *)advertisementData RSSI:(NSNumber *)RSSI
{
    NSLog(@"Found peripheral: %@\n\twith data: %@", peripheral, advertisementData);

    //Check advertisement data for UUID
    CBUUID* serviceUUID = [CBUUID UUIDWithString:serviceUUIDString];
    NSArray* serviceUUIDs = [advertisementData valueForKey:CBAdvertisementDataServiceUUIDsKey];

    if([serviceUUIDs containsObject:serviceUUID])
    {
        //Valid controller, connect
        NSLog(@"Valid peripheral, connecting...");
        [self.btManager connectPeripheral:peripheral options:nil];
    
        //Save peripheral as player #x
        if(!self.player2)
        {
            self.player2 = peripheral;
        }
        else if(!self.player3)
        {
            self.player3 = peripheral;
        }
        else if(!self.player4)
        {
            self.player4 = peripheral;
        
            //Maximum players connected
            //Stop scanning
            [self.btManager stopScan];
        }
        else
        {
            //Maximum players connected
            //Ignore and stop scanning
            [self.btManager stopScan];
            return;
        }
    
        if(!_peripherals)
            _peripherals = [NSMutableArray arrayWithCapacity:0];
    
        [_peripherals addObject:peripheral];
    }
}

Я сохраняю периферийное устройство и вызываю соединение, но оно никогда не завершает соединение. Я пытался подключить каждый из iPhone в разном порядке, и все 3 устройства будут подключаться, если они являются игроком 2 или игроком 3, но игрок 4 отказывается подключаться.

Редактировать:

В секунду, когда я отключу любое из подключенных устройств, подключится проигрыватель 4.


person David    schedule 19.09.2015    source источник
comment
Согласно другим вопросам на SO здесь и здесь к iPhone может быть подключено 10 устройств. Вы пытаетесь подключить iPhone к AppleTV?   -  person Black Frog    schedule 19.09.2015
comment
Кажется, что если iPhone может без проблем подключать 10 или 20 устройств, то новый Apple TV должен иметь возможность подключать как минимум 3.   -  person David    schedule 19.09.2015
comment
У вас есть новейшее оборудование AppleTV? Потому что ограничение, с которым вы сейчас сталкиваетесь, может быть связано с аппаратным обеспечением. Также это может быть проблема с бета-версией tvOS. Вы должны задать свой вопрос на форуме разработчиков Apple. А также открыть отчет об ошибке с Apple.   -  person Black Frog    schedule 19.09.2015
comment
@blackfrog Я работаю с Apple TV Dev Kit с последней бета-версией ОС. Я открою отчет об ошибке.   -  person David    schedule 19.09.2015
comment
Было бы огромной ошибкой, если бы их SDK или чип BLE не позволяли подключаться более чем к двум устройствам. Держите нас в курсе с отчетом об ошибке ;)   -  person Larme    schedule 21.09.2015
comment
Ответ от Apple. Эта проблема проявляется так, как предполагалось, исходя из следующего: Она ограничена пропускной способностью Bluetooth. Сейчас мы закрываем этот отчет об ошибке. Если у вас есть вопросы по поводу решения или если это все еще критическая проблема для вас, обновите отчет об ошибке, указав эту информацию. Обязательно регулярно проверяйте новые выпуски Apple на наличие обновлений, которые могут повлиять на эту проблему.   -  person David    schedule 22.09.2015