AI-generated Key Takeaways
- 
          IMAPictureInPictureProxyis a class that proxies delegate messages for Picture-in-Picture functionality.
- 
          You can check if Picture-in-Picture is currently active using the pictureInPictureActiveproperty.
- 
          You can determine if Picture-in-Picture is supported on the current device with the isPictureInPictureSupportedclass method.
- 
          You can instantiate IMAPictureInPictureProxyto handle delegates from either anAVPictureInPictureControlleror anAVPlayerViewController.
IMAPictureInPictureProxy
@interface IMAPictureInPictureProxy
    : NSProxy <AVPictureInPictureControllerDelegate, AVPlayerViewControllerDelegate>
#else
@interface IMAPictureInPictureProxy : NSObject
#endif
/**
 * Whether or not Picture-in-Picture is currently active.
 */
@property(nonatomic, readonly, getter=isPictureInPictureActive) BOOL pictureInPictureActive;
/**
 * Whether or not Picture-in-Picture is supported on this device.
 */
+ (BOOL)isPictureInPictureSupported;
/**
 * Instantiates an IMAPictureInPictureProxy that will proxy delegate
 * messages from an AVPictureInPictureController, and forward them
 * to the AVPictureInPictureControllerDelegate passed on init.
 *
 * @param delegate the AVPictureInPictureControllerDelegate
 *
 * @return an IMAPictureInPictureProxy instance
 */
- (instancetype)initWithAVPictureInPictureControllerDelegate:
    (id<AVPictureInPictureControllerDelegate>)delegate API_AVAILABLE(ios(9.0), tvos(14.0));
/**
 * Instantiates an IMAPictureInPictureProxy that will proxy delegate
 * messages from an AVPlayerViewController, and forward them to the
 * AVPlayerViewControllerDelegate passed on init.
 *
 * @param delegate the AVPlayerViewControllerDelegate
 *
 * @return an IMAPictureInPictureProxy instance
 */
- (instancetype)initWithAVPlayerViewControllerDelegate:(id<AVPlayerViewControllerDelegate>)delegate
    API_AVAILABLE(ios(9.0), tvos(14.0));
@endUndocumented
- 
                  
                  Whether or not Picture-in-Picture is currently active. DeclarationSwift var isPictureInPictureActive: Bool { get }Objective-C @property (nonatomic, readonly, getter=isPictureInPictureActive) BOOL pictureInPictureActive;
- 
                  
                  Whether or not Picture-in-Picture is supported on this device. DeclarationSwift class func isPictureInPictureSupported() -> BoolObjective-C + (BOOL)isPictureInPictureSupported;
- 
                  
                  Instantiates an IMAPictureInPictureProxy that will proxy delegate messages from an AVPictureInPictureController, and forward them to the AVPictureInPictureControllerDelegate passed on init. DeclarationSwift init(avPictureInPictureControllerDelegate delegate: any AVPictureInPictureControllerDelegate)Objective-C - (nonnull instancetype)initWithAVPictureInPictureControllerDelegate: (nonnull id<AVPictureInPictureControllerDelegate>)delegate;Parametersdelegatethe AVPictureInPictureControllerDelegate Return Valuean IMAPictureInPictureProxy instance 
- 
                  
                  Instantiates an IMAPictureInPictureProxy that will proxy delegate messages from an AVPlayerViewController, and forward them to the AVPlayerViewControllerDelegate passed on init. DeclarationSwift init(avPlayerViewControllerDelegate delegate: any AVPlayerViewControllerDelegate)Objective-C - (nonnull instancetype)initWithAVPlayerViewControllerDelegate: (nonnull id<AVPlayerViewControllerDelegate>)delegate;Parametersdelegatethe AVPlayerViewControllerDelegate Return Valuean IMAPictureInPictureProxy instance