2013-10-02 16 views
1

Я использую следующий код, чтобы знать, когда устройство подключено:Как узнать, какое устройство было подключено?

- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
    //code... 

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(accesoryChanged:) name:EAAccessoryDidConnectNotification object:nil]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(accesoryChanged:) name:EAAccessoryDidDisconnectNotification object:nil]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(accesoryChanged:) name:UIScreenDidConnectNotification object:nil]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(accesoryChanged:) name:UIScreenDidDisconnectNotification object:nil]; 

    EAAccessoryManager *accessoryManager = [EAAccessoryManager sharedAccessoryManager]; 
    [accessoryManager registerForLocalNotifications]; 
} 

- (void)accesoryChanged:(NSNotification*)note; 
{ 
    if(note.name == EAAccessoryDidConnectNotification) 
    { 
     EAAccessory* accessory = [note.userInfo objectForKey:EAAccessoryKey]; 
     //code... 
    } 
    else if(note.name == EAAccessoryDidDisconnectNotification) 
    { 
     EAAccessory* accessory = [note.userInfo objectForKey:EAAccessoryKey]; 
     //code... 
    } 
} 

И:

accessory.name 

я могу получить имя устройства, но я не мог найти способ узнать, какое устройство (например, контроллер или адаптер HDMI).

Есть ли способ получить эту информацию?

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

ответ

0

EAAccessory объект имеет свои свойства для manufacturer, modelNumber и serialNumber. Вы также можете посмотреть массив protocolStrings, чтобы получить представление о возможностях устройства.

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

Смежные вопросы