Возможно реализовать собственный вид подборщика AirPlay с iOS 11. Пожалуйста, проверьте AVRoutePickerView. Это позволит вам контролировать соединения с различными экранами AppleTV/external в приложении. Смотрите пример:
@interface ViewController()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
AVRoutePickerView *routePickerView = [[AVRoutePickerView alloc] initWithFrame:CGRectMake(0.0f, 30.0f, 30.0f, 30.0f)];
routePickerView.backgroundColor = [UIColor lightGrayColor];
[self.view addSubview:routePickerView];
AVAsset *asset = [AVAsset assetWithURL:[NSURL URLWithString:@"https://bitdash-a.akamaihd.net/content/MI201109210084_1/m3u8s/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.m3u8"]];
AVPlayerItem *playerItem = [[AVPlayerItem alloc] initWithAsset:asset];
AVPlayer *player = [AVPlayer playerWithPlayerItem:playerItem];
AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:player];
[playerLayer setFrame:CGRectMake(0.0f, 40.0f, self.view.frame.size.width, self.view.frame.size.height - 40.0f)];
[self.view.layer addSublayer:playerLayer];
[player seekToTime:kCMTimeZero];
[player play];
}
@end
В результате при нажатии на AVRoutePickerView вы получите что-то вроде этого:
При нажатии на доступном внешнем экране вы будете иметь возможность воспроизведения контента на нем.
На данный момент это невозможно. Для этого нет открытых API. – amagain