Record or stream video from the screen, and audio from the app and microphone.


Using the ReplayKit framework, users can record video from the screen, and audio from the app and microphone. They can then share their recordings with other users through email, messages, and social media. You can build app extensions for live broadcasting your content to sharing services. ReplayKit is incompatible with AVPlayer content.


Replay Sharing

class RPScreenRecorder

The shared recorder object providing the ability to record audio and video of your app.

class RPPreviewViewController

An object that displays a user interface where users preview and edit a screen recording created with ReplayKit.

Media Clip Processing

class RPBroadcastController

An object containing methods for starting and controlling a broadcast.

class RPBroadcastHandler

An object that sends messages to the broadcasting app.

class RPBroadcastSampleHandler

An object that processes buffer objects as they are received from ReplayKit.

class RPBroadcastMP4ClipHandler

An object that processes MP4 movie clips from ReplayKit.


Live Broadcast Implementation

class RPBroadcastActivityViewController

An object that displays a user interface where users choose a broadcast service.

class RPSystemBroadcastPickerView

A view displaying a broadcast button that, when tapped, shows a broadcast picker.

class RPBroadcastConfiguration

An object used to configure the movie clips produced during a live broadcast.



enum RPRecordingErrorCode

The ReplayKit error domain codes.


The ReplayKit framework error domain.


ReplayKit Constants

ReplayKit constants affecting multiple classes.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software