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 适配器)。

有什么方法可以获取这些信息吗?

提前致谢。

4

1 回答 1

0

EAAccessory对象具有manufacturermodelNumber和的属性serialNumber。您还可以查看数组protocolStrings以了解设备的功能。

在决定是否连接到配件时,您应该使用配件声明的协议来做出决定。与附件相关的协议指示附件能够处理的数据类型。您可以使用其他属性来帮助您决定是否连接到配件,但协议列表应该是您考虑的关键因素。

于 2013-10-02T20:16:11.380 回答