Почему EAAccessoryDidConnectNotification возникает дважды?

У меня есть класс, который управляет сообщениями, поступающими от внешнего устройства 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:

Я могу Не понимаю, зачем мне лишнее подключение и отключение. Есть идеи?

7
задан Sam 29 July 2011 в 14:41
поделиться