Botón MPVolumeView AirPlay no visible

Empecé a usar MPVolumeView en mi aplicación, sin embargo, el button Air Play no aparece en absoluto. Aunque tengo más de un dispositivo Air Play disponible para enviar mi audio AVPlayer a la networking. Esto se puede ver si se revisa Air Play desde el Centro de control, por ejemplo.

Aquí está el código que tengo:

 myVolumeView = [MPVolumeView new]; [myVolumeView setShowsVolumeSlider:YES]; [myVolumeView setShowsRouteButton:YES]; myVolumeView.frame = _volumePanel.bounds; [myVolumeView sizeToFit]; _myVolumeView.autoresizingMask = UIAutoresizingFlexibleWidth; [_volumePanel addSubview:myVolumeView]; 

Cosas bastante simples. Tengo un AVPlayer que ejecuta algo de música y eso es todo. Curiosamente, si selecciono otro dispositivo Air Play del Centro de control, el button Air Play aparecerá en la aplicación en mi MPVolumeView , pero es un poco glitchy.

Si en Xcode hago clic en el button Modo de jerarquía de debugging sobre la console, puedo ver el button Air Play en mi interfaz de usuario, sin embargo, su Alpha es 0.

Cualquier ayuda para resolver esto sería muy apreciada, ¡gracias!

Es un completo y completo hack pero funciona.

  MPVolumeView* airplayButton = [[MPVolumeView alloc] init]; for (UIButton *button in airplayButton.subviews) { if ([button isKindOfClass:[UIButton class]]) { [button addObserver:self forKeyPath:@"alpha" options:NSKeyValueObservingOptionNew context:nil]; } } 

Luego en el observador

 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { if ([object isKindOfClass:[UIButton class]] && [[change valueForKey:NSKeyValueChangeNewKey] intValue] != 1) { UIButton *airplay = (UIButton *)object; [airplay setAlpha:1.0]; } } 

No olvides apagar el observador en el desorder

 - (void)dealloc { for (UIButton *button in _airplayButton.subviews) { if ([button isKindOfClass:[UIButton class]]) { [button removeObserver:self forKeyPath:@"alpha"]; break; } } }