What's New / Media, Audio & Capture

What's new in ReplayKit

~44 DeprecatediOS · macOS · tvOS · visionOS

ReplayKit records and live-streams audio and video from iOS, iPadOS, and tvOS apps, and routes captured content to third-party broadcast services.

The 27 SDK deprecates 44 symbols and adds or removes nothing. The deprecations cover RPBroadcastActivityViewControllerDelegate and RPBroadcastControllerDelegate (including their broadcastActivityViewController and broadcastController callbacks), the load API, and NSExtensionContext.loadBroadcastingApplicationInfo.

Deprecated

44
var

cameraPosition

DeprecatediOSmacOSvisionOS
open var cameraPosition: RPCameraPosition
DeprecatedUse SCVideoEffectOutput cameraDevice instead
var

cameraPreviewView

DeprecatediOSvisionOS
open var cameraPreviewView: UIView? { get }
DeprecatedUse ScreenCaptureKit SCVideoEffectOutput instead
var

cameraPreviewView

DeprecatedmacOS
open var cameraPreviewView: NSView? { get }
DeprecatedUse ScreenCaptureKit instead
var

delegate

DeprecatediOSmacOStvOSvisionOS
weak open var delegate: (any RPScreenRecorderDelegate)?
DeprecatedUse ScreenCaptureKit instead
func

discardRecording

DeprecatediOSmacOStvOSvisionOS
open func discardRecording(handler: @escaping () -> Void)
DeprecatedUse ScreenCaptureKit SCStream with SCRecordingOutput instead
func

exportClip

DeprecatediOSmacOStvOSvisionOS
open func exportClip(to url: URL, duration: TimeInterval, completionHandler: (@Sendable ((any Error)?) -> Void)? = nil)
DeprecatedUse ScreenCaptureKit SCStream with SCClipBufferingOutput instead
func

exportClip

DeprecatediOSmacOStvOSvisionOS
open func exportClip(to url: URL, duration: TimeInterval) async throws
DeprecatedUse ScreenCaptureKit SCStream with SCClipBufferingOutput instead
var

isAvailable

DeprecatediOSmacOStvOSvisionOS
open var isAvailable: Bool { get }
DeprecatedUse SCContentSharingPicker isAvailable instead
var

isCameraEnabled

DeprecatediOSmacOSvisionOS
open var isCameraEnabled: Bool
DeprecatedUse SCContentSharingPickerConfiguration showsCameraControl instead
var

isMicrophoneEnabled

DeprecatediOSmacOSvisionOS
open var isMicrophoneEnabled: Bool
DeprecatedUse SCContentSharingPickerConfiguration showsMicrophoneControl instead
var

isRecording

DeprecatediOSmacOStvOSvisionOS
open var isRecording: Bool { get }
DeprecatedUse SCStream isCapturing instead
func

load

DeprecatediOSvisionOS
open class func load(withPreferredExtension preferredExtension: String?, handler: @escaping (RPBroadcastActivityViewController?, (any Error)?) -> Void)
DeprecatedNo longer supported
let

RPApplicationInfoBundleIdentifierKey

DeprecatediOSmacOSvisionOS
public let RPApplicationInfoBundleIdentifierKey: String
DeprecatedNo longer supported
protocol

RPBroadcastActivityControllerDelegate

DeprecatedmacOS
public protocol RPBroadcastActivityControllerDelegate : NSObjectProtocol
DeprecatedNo longer supported
Declaration
public protocol RPBroadcastActivityControllerDelegate : NSObjectProtocol {

    @available(macOS, introduced: 11.0, deprecated: 27.0, message: "No longer supported")
    func broadcastActivityController(_ broadcastActivityController: RPBroadcastActivityController, didFinishWith broadcastController: RPBroadcastController?, error: (any Error)?)
}
protocol

RPBroadcastActivityViewControllerDelegate

DeprecatediOStvOSvisionOS
public protocol RPBroadcastActivityViewControllerDelegate : NSObjectProtocol
DeprecatedNo longer supported
Declaration
public protocol RPBroadcastActivityViewControllerDelegate : NSObjectProtocol {

    @available(iOS, introduced: 10.0, deprecated: 27.0, message: "No longer supported")
    func broadcastActivityViewController(_ broadcastActivityViewController: RPBroadcastActivityViewController, didFinishWith broadcastController: RPBroadcastController?, error: (any Error)?)
}
protocol

RPBroadcastControllerDelegate

DeprecatediOSmacOStvOSvisionOS
public protocol RPBroadcastControllerDelegate : NSObjectProtocol
DeprecatedNo longer supported
Declaration
public protocol RPBroadcastControllerDelegate : NSObjectProtocol {

    optional func broadcastController(_ broadcastController: RPBroadcastController, didFinishWithError error: (any Error)?)

    optional func broadcastController(_ broadcastController: RPBroadcastController, didUpdateServiceInfo serviceInfo: [String : any NSCoding & NSObjectProtocol])

    @available(iOS, introduced: 11.0, deprecated: 27.0, message: "No longer supported")
    optional func broadcastController(_ broadcastController: RPBroadcastController, didUpdateBroadcast broadcastURL: URL)
}
enum

RPCameraPosition

DeprecatediOSmacOSvisionOS
public enum RPCameraPosition : Int, @unchecked Sendable
DeprecatedUse SCVideoEffectOutput cameraDevice instead
Declaration
public enum RPCameraPosition : Int, @unchecked Sendable {

    case front = 1

    case back = 2
}
protocol

RPPreviewViewControllerDelegate

DeprecatediOSmacOStvOSvisionOS
public protocol RPPreviewViewControllerDelegate : NSObjectProtocol
DeprecatedUse SCRecordingEditor instead
Declaration
public protocol RPPreviewViewControllerDelegate : NSObjectProtocol {

    optional func previewControllerDidFinish(_ previewController: RPPreviewViewController)

    optional func previewController(_ previewController: RPPreviewViewController, didFinishWithActivityTypes activityTypes: Set<String>)
}
enum

RPSampleBufferType

DeprecatediOSmacOStvOSvisionOS
public enum RPSampleBufferType : Int, @unchecked Sendable
DeprecatedUse SCStreamOutputType instead
Declaration
public enum RPSampleBufferType : Int, @unchecked Sendable {

    case video = 1

    case audioApp = 2

    case audioMic = 3
}
protocol

RPScreenRecorderDelegate

DeprecatediOSmacOStvOSvisionOS
public protocol RPScreenRecorderDelegate : NSObjectProtocol
DeprecatedUse ScreenCaptureKit instead
Declaration
public protocol RPScreenRecorderDelegate : NSObjectProtocol {

    /** @abstract Called when recording has stopped due to an error.
     @param screenRecorder The instance of the screen recorder.
     @param error An NSError describing why recording has stopped in the RPRecordingErrorDomain.
     @param previewViewController If a partial movie is available before it was stopped, an instance of RPPreviewViewController will be returned.
     */
    @available(iOS, introduced: 9.0, deprecated: 10.0, message: "No longer supported")
    optional func screenRecorder(_ screenRecorder: RPScreenRecorder, didStopRecordingWithError error: any Error, previewViewController: RPPreviewViewController?)

    @available(iOS, introduced: 11.0, deprecated: 27.0, message: "Use ScreenCaptureKit SCStream with SCRecordingOutput instead")
    optional func screenRecorder(_ screenRecorder: RPScreenRecorder, didStopRecordingWith previewViewController: RPPreviewViewController?, error: (any Error)?)

    /** @abstract Called when the recorder becomes available or stops being available. Check the screen recorder's availability property to check the current availability state. Possible reasons for the recorder to be unavailable include an in-progress Airplay/TVOut session or unsupported hardware.
     @param screenRecorder The instance of the screen recorder.
     */
    @available(iOS, introduced: 9.0, deprecated: 27.0, message: "Use ScreenCaptureKit instead")
    optional func screenRecorderDidChangeAvailability(_ screenRecorder: RPScreenRecorder)
}
let

RPVideoSampleOrientationKey

DeprecatediOSmacOStvOSvisionOS
public let RPVideoSampleOrientationKey: String
DeprecatedNo longer supported
func

showBroadcastPicker

DeprecatedmacOS
open class func showBroadcastPicker(at point: CGPoint, from window: NSWindow?, preferredExtensionIdentifier preferredExtension: String?, completionHandler handler: @escaping @Sendable (RPBroadcastActivityController?, (any Error)?) -> Void)
DeprecatedNo longer supported
func

showBroadcastPicker

DeprecatedmacOS
open class func showBroadcastPicker(at point: CGPoint, from window: NSWindow?, preferredExtensionIdentifier preferredExtension: String?) async throws -> RPBroadcastActivityController
DeprecatedNo longer supported
func

startCapture

DeprecatediOSmacOStvOSvisionOS
open func startCapture(handler captureHandler: ((CMSampleBuffer, RPSampleBufferType, (any Error)?) -> Void)?, completionHandler: (@Sendable ((any Error)?) -> Void)? = nil)
DeprecatedUse ScreenCaptureKit SCStream with SCStreamOutput instead
func

startCapture

DeprecatediOSmacOStvOSvisionOS
open func startCapture(handler captureHandler: ((CMSampleBuffer, RPSampleBufferType, (any Error)?) -> Void)?) async throws
DeprecatedUse ScreenCaptureKit SCStream with SCStreamOutput instead
func

startClipBuffering

DeprecatediOSmacOStvOSvisionOS
open func startClipBuffering(completionHandler: (@Sendable ((any Error)?) -> Void)? = nil)
DeprecatedUse ScreenCaptureKit SCStream with SCClipBufferingOutput instead
func

startClipBuffering

DeprecatediOSmacOStvOSvisionOS
open func startClipBuffering() async throws
DeprecatedUse ScreenCaptureKit SCStream with SCClipBufferingOutput instead
func

startRecording

DeprecatediOSmacOStvOSvisionOS
open func startRecording(handler: (((any Error)?) -> Void)? = nil)
DeprecatedUse ScreenCaptureKit SCStream with SCRecordingOutput instead
func

stopCapture

DeprecatediOSmacOStvOSvisionOS
open func stopCapture(handler: (((any Error)?) -> Void)? = nil)
DeprecatedUse ScreenCaptureKit SCStream stopCaptureWithCompletionHandler: instead
func

stopClipBuffering

DeprecatediOSmacOStvOSvisionOS
open func stopClipBuffering(completionHandler: (@Sendable ((any Error)?) -> Void)? = nil)
DeprecatedUse ScreenCaptureKit SCStream with SCClipBufferingOutput instead
func

stopClipBuffering

DeprecatediOSmacOStvOSvisionOS
open func stopClipBuffering() async throws
DeprecatedUse ScreenCaptureKit SCStream with SCClipBufferingOutput instead
func

stopRecording

DeprecatediOSmacOStvOSvisionOS
open func stopRecording(handler: ((RPPreviewViewController?, (any Error)?) -> Void)? = nil)
DeprecatedUse ScreenCaptureKit SCStream with SCRecordingOutput instead
func

stopRecording

DeprecatediOSmacOStvOSvisionOS
open func stopRecording(withOutput url: URL, completionHandler: (@Sendable ((any Error)?) -> Void)? = nil)
DeprecatedUse ScreenCaptureKit SCStream with SCRecordingOutput instead
func

stopRecording

DeprecatediOSmacOStvOSvisionOS
open func stopRecording(withOutput url: URL) async throws
DeprecatedUse ScreenCaptureKit SCStream with SCRecordingOutput instead
func

NSExtensionContext.completeRequest

DeprecatediOSmacOStvOSvisionOS
open func completeRequest(withBroadcast broadcastURL: URL, setupInfo: [String : any NSCoding & NSObjectProtocol]?)
DeprecatedNo longer supported
func

NSExtensionContext.loadBroadcastingApplicationInfo

DeprecatediOStvOSvisionOS
open func loadBroadcastingApplicationInfo(completion handler: @escaping @Sendable (String, String, UIImage?) -> Void)
DeprecatedNo longer supported
func

NSExtensionContext.loadBroadcastingApplicationInfo

DeprecatediOStvOSvisionOS
open func loadBroadcastingApplicationInfo() async -> (String, String, UIImage?)
DeprecatedNo longer supported
func

NSExtensionContext.loadBroadcastingApplicationInfo

DeprecatedmacOS
open func loadBroadcastingApplicationInfo(completion handler: @escaping @Sendable (String, String, NSImage?) -> Void)
DeprecatedNo longer supported
func

NSExtensionContext.loadBroadcastingApplicationInfo

DeprecatedmacOS
open func loadBroadcastingApplicationInfo() async -> (String, String, NSImage?)
DeprecatedNo longer supported
func

RPBroadcastActivityControllerDelegate.broadcastActivityController

DeprecatedmacOS
func broadcastActivityController(_ broadcastActivityController: RPBroadcastActivityController, didFinishWith broadcastController: RPBroadcastController?, error: (any Error)?)
DeprecatedNo longer supported
func

RPBroadcastActivityViewControllerDelegate.broadcastActivityViewController

DeprecatediOStvOSvisionOS
func broadcastActivityViewController(_ broadcastActivityViewController: RPBroadcastActivityViewController, didFinishWith broadcastController: RPBroadcastController?, error: (any Error)?)
DeprecatedNo longer supported
func

RPBroadcastControllerDelegate.broadcastController

DeprecatediOStvOSvisionOS
optional func broadcastController(_ broadcastController: RPBroadcastController, didUpdateBroadcast broadcastURL: URL)
DeprecatedNo longer supported
func

RPScreenRecorderDelegate.screenRecorder

DeprecatediOSmacOStvOSvisionOS
optional func screenRecorder(_ screenRecorder: RPScreenRecorder, didStopRecordingWith previewViewController: RPPreviewViewController?, error: (any Error)?)
DeprecatedUse ScreenCaptureKit SCStream with SCRecordingOutput instead
func

RPScreenRecorderDelegate.screenRecorderDidChangeAvailability

DeprecatediOSmacOStvOSvisionOS
optional func screenRecorderDidChangeAvailability(_ screenRecorder: RPScreenRecorder)
DeprecatedUse ScreenCaptureKit instead

No APIs match your filter.

← More in Media, Audio & Capture