我使用下面的代码来了解设备何时插入:
- (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适配器)。
有什么方法可以获得这些信息吗?
提前谢谢。
发布于 2013-10-03 04:16:11
EAAccessory对象具有manufacturer、modelNumber和serialNumber的属性。您还可以查看protocolStrings数组以了解设备的功能。
在决定是否连接到附件时,您应该使用附件声明的协议来做出决定。与附件相关联的协议指示附件能够处理的数据类型。您可以使用其他属性来帮助您决定是否连接到附件,但协议列表应该是您考虑的关键因素。
https://stackoverflow.com/questions/19145904
复制相似问题