我正在使用下一代码来了解设备何时插入:
- (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 :(得分:0)
EAAccessory
对象具有manufacturer
,modelNumber
和serialNumber
的属性。您还可以查看protocolStrings
数组,以了解设备的功能。
在决定是否连接附件时,您应该使用附件声明的协议来做出决定。与附件相关联的协议指示附件能够处理的数据类型。您可以使用其他属性来帮助您决定是否连接到附件,但协议列表应该是您考虑的关键因素。