我有一个类用于管理来自和发送至 iPad 外部配件的消息。在初始化中,我有以下代码:
- (id) init
{
self = [super init];
if (!self) return;
[[EAAccessoryManager sharedAccessoryManager] registerForLocalNotifications]; //we want to hear about accessories connecting and disconnecting
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(accessoryDidConnect:)
name:EAAccessoryDidConnectNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(accessoryDidDisconnect:)
name:EAAccessoryDidDisconnectNotification
object:nil];
...
}
在 dealloc 中我有
- (void) dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self name:EAAccessoryDidDisconnectNotification object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self name:EAAccessoryDidConnectNotification object:nil];
[[EAAccessoryManager sharedAccessoryManager] unregisterForLocalNotifications];
}
出于某种原因,当我将外部配件连接到 iPad 时,accessoryDidConnect: 会触发,然后是 accessoryDidDisconnect: 然后是 accessoryDidConnect:
我不明白为什么我会得到一个额外的连接和断开连接。有什么想法吗?
最佳答案
eaaccessory 框架将始终出于某种原因触发 2 个连接和 2 个断开连接通知。第一个连接断开对将没有协议(protocol)字符串,您可以忽略这些。
关于ios - 为什么 EAAccessoryDidConnectNotification 会出现两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6874853/