Search code examples
iphoneobjective-cxcodeairplay

What is the code to call the actionsheet AirPlay directly?


I want to know code to call the actionsheet AirPlay directly. I want to achieve in the code for "AirPlay button pressed". In other words, I would like to call the "action sheet AirPlay" from anywhere. Thanks.


Solution

  • - (void)showAirPlay
    {
        MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame:CGRectZero];
        [self.view addSubview:volumeView];
    
        for (UIButton *button in volumeView.subviews)
        {
            if ([button isKindOfClass:[UIButton class]])
            {
                [button sendActionsForControlEvents:UIControlEventTouchUpInside];
            }
        }
    }
    

    Add the MPVolumeView to your view, and then send control events to the button. Keep in mind that this is very unstable because if Apple adds another UIButton to MPVolumeView, this will break.