Share via


ReplayKit Namespace

Allows screen recording within an iOS app.

Classes

Name Description
NSExtensionContext_RPBroadcastExtension
RPBroadcastActivityController
RPBroadcastActivityControllerDelegate

This is a class that implements the interface IRPBroadcastActivityControllerDelegate (for the protocol RPBroadcastActivityControllerDelegate).

Subclass this class to easily create a type that implements the protocol.

An alternative is to create a subclass of NSObject and then implemented the interface IRPBroadcastActivityControllerDelegate.

RPBroadcastActivityViewController

Presents a user interface for choosing third-party broadcast services.

RPBroadcastActivityViewControllerDelegate

Responds to changes in the UI that is presented by a RPBroadcastActivityViewController.

RPBroadcastConfiguration
RPBroadcastController

Manages an audio or video broadcast stream.

RPBroadcastControllerDelegate

Delegate object that responds to changes in a broadcast.

RPBroadcastControllerDelegate_Extensions

Extension methods to the IRPBroadcastControllerDelegate interface to support all the methods from the RPBroadcastControllerDelegate protocol.

RPBroadcastHandler

Base class for managing Replay Kit broadcasts.

RPBroadcastMP4ClipHandler
RPBroadcastSampleHandler

Processes ReplayKit buffer obects as they arrive.

RPPreviewViewController

A view controller for previewing and editing a ReplayKit recording.

RPPreviewViewControllerDelegate

The view controller protocol for previewing and editing a ReplayKit recording.

RPPreviewViewControllerDelegate_Extensions

Extension methods to the IRPPreviewViewControllerDelegate interface to support all the methods from the RPPreviewViewControllerDelegate protocol.

RPRecordingErrorExtensions

Extension methods for the RPRecordingError enumeration.

RPScreenRecorder

Enables the user to record visual and audio output of applications, with simultaneous recorded audio (screencasts).

RPScreenRecorderDelegate

Protocol for enabling the user to record visual and audio output of applications, with simultaneous recorded audio (screencasts)..

RPScreenRecorderDelegate_Extensions

Extension methods to the IRPScreenRecorderDelegate interface to support all the methods from the RPScreenRecorderDelegate protocol.

RPSystemBroadcastPickerView
RPSystemBroadcastPickerView.RPSystemBroadcastPickerViewAppearance

Appearance class for objects of type RPSystemBroadcastPickerView.

Interfaces

Name Description
IRPBroadcastActivityControllerDelegate

This interface represents the Objective-C protocol RPBroadcastActivityControllerDelegate.

IRPBroadcastActivityViewControllerDelegate

Responds to changes in the UI that is presented by a RPBroadcastActivityViewController.

IRPBroadcastControllerDelegate

Delegate object that responds to changes in a broadcast.

IRPPreviewViewControllerDelegate

The view controller protocol for previewing and editing a ReplayKit recording.

IRPScreenRecorderDelegate

Protocol for enabling the user to record visual and audio output of applications, with simultaneous recorded audio (screencasts)..

Enums

Name Description
RPCameraPosition

Enumerates camera locations on the device.

RPPreviewViewControllerMode
RPRecordingError

Enumerates errors that can be encountered while recording.

RPSampleBufferType

Delegates

Name Description
LoadBroadcastingHandler

Delegate that specifies the signature of the completion handler in calls to the LoadBroadcastingApplicationInfo(NSExtensionContext, LoadBroadcastingHandler) method.

Remarks

The ReplayKit namespace provides classes that allow screen recording of the developer's application. Additionally, it provides a standard RPPreviewViewController view controller that allows the user to preview, trim, and share the recording.

Developers must use the SharedRecorder singleton to create replays.

if (RPScreenRecorder.SharedRecorder.Available)
{
    recordingTask = RPScreenRecorder.SharedRecorder.StartRecordingAsync(true);
}
//...etc...
RPPreviewViewController controller = await RPScreenRecorder.SharedRecorder.StopRecordingAsync();
this.NavigationController.PushViewController(controller, true);