O MPNowPlayingInfoCenter não está reagindo corretamente ao pausar a reprodução

Eu estou tentando obter MPNowPlayingInfoCenter para funcionar corretamente ao pausar a reprodução. (Eu tenho um aplicativo de streaming de música que usa o AVPlayer para reprodução, e estou reproduzindo no meu Apple TV em vez do Airplay.) Tudo, menos a pausa, parece estar refletido corretamente na interface do Apple TV. Estou inicializando assim:

MPNowPlayingInfoCenter *center = [MPNowPlayingInfoCenter defaultCenter];
NSDictionary *songInfo = @{
    MPMediaItemPropertyTitle: title,
    MPMediaItemPropertyArtist: artist
};
center.nowPlayingInfo = songInfo;

Como estou transmitindo, não tenho informações de duração ao iniciar a reprodução. Quando recebo sinal "pronto" do fluxo, atualizo a duração que aparece corretamente no meu Apple TV:

MPNowPlayingInfoCenter *center = [MPNowPlayingInfoCenter defaultCenter];
NSMutableDictionary *playingInfo = [NSMutableDictionary dictionaryWithDictionary:center.nowPlayingInfo];
[playingInfo setObject:[NSNumber numberWithFloat:length] forKey:MPMediaItemPropertyPlaybackDuration];
center.nowPlayingInfo = playingInfo;

Eu também posso procurar com essa técnica quando o usuário procura a faixa:

[playingInfo setObject:[NSNumber numberWithFloat:length * targetProgress] forKey:MPNowPlayingInfoPropertyElapsedPlaybackTime];

A única coisa que eu não consigo descobrir é como pausar o playhead na minha Apple TV. Quando os toques do usuário pausam na minha interface do usuário, estou tentando fazer algo como:

MPNowPlayingInfoCenter *center = [MPNowPlayingInfoCenter defaultCenter];
NSMutableDictionary *playingInfo = [NSMutableDictionary dictionaryWithDictionary:center.nowPlayingInfo];        
[playingInfo setObject:[NSNumber numberWithFloat:0.0f] forKey:MPNowPlayingInfoPropertyPlaybackRate];            
center.nowPlayingInfo = playingInfo;

Em vez de pausar, isso busca o playhead de volta ao zero e continua avançando.

Como faço para que o playhead pause corretamente na interface do usuário da minha Apple TV?

questionAnswers(3)

yourAnswerToTheQuestion