Для вашей первой проблемы, скорее всего, вы не выпускаете addPeriodicTimeObserverForInterval
, как предложено. Попробуйте добавить что-то подобное в ваш AppDelegate
:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[_audioManager.audioPlayer removeTimeObserver:_audioManager.timeObserver];
_audioManager.isUIActive = NO;
}
и соответствующий метод перезапуска наблюдателя периодического времени:
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[_audioManager setUpTransportUI];
_audioManager.isUIActive = YES;
}
где setUpTransportUI
воссоздает вашего наблюдателя времени.