У меня есть класс, который управляет сообщениями, поступающими от внешнего устройства 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];
...
}
in 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:
Я могу Не понимаю, зачем мне лишнее подключение и отключение. Есть идеи?