Возможно, вы захотите попробовать использовать более поздний механизм для прослушивания событий дистанционного управления. Например, если вы хотите прослушать кнопку гарнитуры:
MPRemoteCommandCenter *commandCenter = [MPRemoteCommandCenter sharedCommandCenter];
[commandCenter.togglePlayPauseCommand addTargetWithHandler:^MPRemoteCommandHandlerStatus(MPRemoteCommandEvent * _Nonnull event) {
NSLog(@"toggle button pressed");
return MPRemoteCommandHandlerStatusSuccess;
}];
или, если вы предпочитаете использовать метод вместо блока:
[commandCenter.togglePlayPauseCommand addTarget:self action:@selector(toggleButtonAction)];
Для остановки:
[commandCenter.togglePlayPauseCommand removeTarget:self];
или
[commandCenter.togglePlayPauseCommand removeTarget:self action:@selector(toggleButtonAction)];
Вам необходимо добавить это в область включений вашего файла:
@import MediaPlayer;
Это работает в фоновом режиме, ТОЛЬКО если вы используете аудио приложение, играющее в фоновом режиме (т.е. вы должны установить этот фоновый режим в возможностях вашего приложения).