IOS - события дистанционного управления не принимаются, когда модальное представление находится поверх основного представления - PullRequest
2 голосов
/ 09 февраля 2012

У меня есть приложение, которое воспроизводит аудио в фоновом режиме. Все работает нормально, когда основным видом является представление о том, что пользователь был последним.

Однако, если пользователь переходит ко второму виду, события дистанционного управления больше не работают.

Контроллер основного вида - это место, где я обрабатываю события дистанционного управления. Что я должен сделать, чтобы пульты ДУ могли управлять звуком приложения, даже если основной вид не в фокусе?

UPDATE:

Добавление этого кода в мой контроллер основного вида заставляет все работать нормально.

- (BOOL)canResignFirstResponder{
    return NO;
}

Может ли этот код иметь побочные эффекты?

1 Ответ

1 голос
/ 15 февраля 2012

Я предполагаю, что у вас есть два разных контроллера вида, один для основного вида и один для модального вида. Возможно, было бы чётче, если бы контроллер основного представления установил 'canBecomeFirstResponder' в YES, а субконтроллер установил в 'canBecomeFirstResponder' значение NO. В вашем коде не должно быть побочных эффектов, если вы не забыли позвонить, не забудьте отменить его при выходе из приложения.

Либо с:

- (BOOL)canResignFirstResponder{
    return mAppIsActive;
}
- (void)applicationWillTerminate:(UIApplication *)application
{
    mAppIsActive = false;
}

или

- (void)applicationWillTerminate:(UIApplication *)application
{   
    [[UIApplication sharedApplication] endReceivingRemoteControlEvents];
    [self.viewController resignFirstResponder];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...