Skip to content

ReplayKit iOS xcode27.0 b1

Alex Soto edited this page Jun 9, 2026 · 1 revision

#ReplayKit.framework

diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPBroadcast.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPBroadcast.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPBroadcast.h	2026-04-19 02:02:28
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPBroadcast.h	2026-05-22 08:44:53
@@ -31,13 +31,14 @@
 @class RPBroadcastController;
 
 #if TARGET_OS_OSX
-API_AVAILABLE(macos(11.0))
+API_DEPRECATED("No longer supported", macos(11.0, 27.0))
 
 /*!
  @abstract RPBroadcastActivityControllerDelegate is used to notify the caller when the user has finshed with the RPBroadcastActivityController's picker.
 */
 @protocol RPBroadcastActivityControllerDelegate;
 
+API_DEPRECATED("No longer supported", macos(11.0, 27.0))
 /*!
  @class RPBroadcastActivityController
  @abstract Controller object that allows clients to present the macOS broadcast picker and returns the RPBroadcastController object that controls broadcast functionality.
@@ -50,7 +51,7 @@
  @param preferredExtension The extension bundle identifier for the preferred broadcast extension service. nil specifies all extensions will be shown.
  @discussion The handler will be called after the user us finished with the picker and has finish setting up the broadcast extension, which will provide an instance of RPBroadcastAcvityController and an error if one occured.
 */
-+ (void)showBroadcastPickerAtPoint:(CGPoint)point fromWindow:(NSWindow *_Nullable)window preferredExtensionIdentifier:(NSString *_Nullable)preferredExtension completionHandler:(void (^)(RPBroadcastActivityController *_Nullable broadcastActivityController, NSError *_Nullable error))handler API_AVAILABLE(macos(11.0));
++ (void)showBroadcastPickerAtPoint:(CGPoint)point fromWindow:(NSWindow *_Nullable)window preferredExtensionIdentifier:(NSString *_Nullable)preferredExtension completionHandler:(void (^)(RPBroadcastActivityController *_Nullable broadcastActivityController, NSError *_Nullable error))handler API_DEPRECATED("No longer supported", macos(11.0, 27.0));
 
 /*!
  @abstract Delegate that is notified when the activity view controller is complete.
@@ -59,6 +60,7 @@
 
 @end
 
+API_DEPRECATED("No longer supported", macos(11.0, 27.0))
 @protocol RPBroadcastActivityControllerDelegate <NSObject>
 
 /*  @abstract Called when the controller is finished.
@@ -66,7 +68,7 @@
  @param broadcastController An RPBroadcastController instance that can be used to start and stop broadcasts to a user selected service.
  @param error Optional error in the RPRecordingErrorCode domain. A nil error signifies that the user has successfully set up the broadcast with a broadcast service and is ready to start broadcasting.
  */
-- (void)broadcastActivityController:(RPBroadcastActivityController *)broadcastActivityController didFinishWithBroadcastController:(nullable RPBroadcastController *)broadcastController error:(nullable NSError *)error API_AVAILABLE(macos(11.0));
+- (void)broadcastActivityController:(RPBroadcastActivityController *)broadcastActivityController didFinishWithBroadcastController:(nullable RPBroadcastController *)broadcastController error:(nullable NSError *)error API_DEPRECATED("No longer supported", macos(11.0, 27.0));
 @end
 #endif
 
@@ -74,7 +76,7 @@
 /*! @class RPBroadcastActivityViewController
  @abstract View controller that presents the user with a list of broadcast services installed on the device.
  */
-API_AVAILABLE(ios(10.0), tvos(10.0))
+API_DEPRECATED("No longer supported", ios(10.0, 27.0), tvos(10.0, 27.0))
 @interface RPBroadcastActivityViewController : UIViewController
 
 /*  @abstract Loads a RPBroadcastActivityViewController instance and returns it in the handler block.
@@ -98,13 +100,13 @@
  @param broadcastActivityViewController The RPBroadcastActivityViewController which can be presented, returns nil if ther eis no matching extension.
  @param error Optional error in the RPRecordingErrorCode domain which is supplied in the event the view controller could not be loaded.
  */
-+ (void)loadBroadcastActivityViewControllerWithPreferredExtension:(NSString *_Nullable)preferredExtension handler:(nonnull void (^)(RPBroadcastActivityViewController *_Nullable broadcastActivityViewController, NSError *_Nullable error))handler API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos);
++ (void)loadBroadcastActivityViewControllerWithPreferredExtension:(NSString *_Nullable)preferredExtension handler:(nonnull void (^)(RPBroadcastActivityViewController *_Nullable broadcastActivityViewController, NSError *_Nullable error))handler API_DEPRECATED("No longer supported", ios(11.0, 27.0)) API_UNAVAILABLE(tvos);
 
 /*  @abstract Delegate that is notified when the activity view controller is complete. */
 @property (nonatomic, weak, nullable) id<RPBroadcastActivityViewControllerDelegate> delegate;
 @end
 
-API_AVAILABLE(ios(10.0), tvos(10.0))
+API_DEPRECATED("No longer supported", ios(10.0, 27.0), tvos(10.0, 27.0))
 @protocol RPBroadcastActivityViewControllerDelegate <NSObject>
 
 /*  @abstract Called when the view controller is finished.
@@ -112,14 +114,14 @@
  @param broadcastController An RPBroadcastController instance that can be used to start and stop broadcasts to a user selected service.
  @param error Optional error in the RPRecordingErrorCode domain. A nil error signifies that the user has successfully set up the broadcast with a broadcast service and is ready to start broadcasting.
  */
-- (void)broadcastActivityViewController:(RPBroadcastActivityViewController *)broadcastActivityViewController didFinishWithBroadcastController:(nullable RPBroadcastController *)broadcastController error:(nullable NSError *)error API_AVAILABLE(ios(10.0), tvos(10.0));
+- (void)broadcastActivityViewController:(RPBroadcastActivityViewController *)broadcastActivityViewController didFinishWithBroadcastController:(nullable RPBroadcastController *)broadcastController error:(nullable NSError *)error API_DEPRECATED("No longer supported", ios(10.0, 27.0), tvos(10.0, 27.0));
 @end
 #endif
 
 /*! @class RPBroadcastController
  @abstract Available once a user has successfully initiated a broadcast using an RPBroadcastActivityViewController. Can be used to start, pause and stop a broadcast.
  */
-API_AVAILABLE(ios(10.0), tvos(10.0), macos(11.0))
+API_DEPRECATED("No longer supported", ios(10.0, 27.0), tvos(10.0, 27.0), macos(11.0, 27.0))
 @interface RPBroadcastController : NSObject
 /*  @abstract Indicates whether the controller is currently broadcasting. */
 @property (nonatomic, readonly, getter = isBroadcasting) BOOL broadcasting;
@@ -150,7 +152,7 @@
 - (void)finishBroadcastWithHandler:(void (^)(NSError *_Nullable error))handler;
 @end
 
-API_AVAILABLE(ios(10.0), tvos(10.0), macos(11.0))
+API_DEPRECATED("No longer supported", ios(10.0, 27.0), tvos(10.0, 27.0), macos(11.0, 27.0))
 @protocol RPBroadcastControllerDelegate <NSObject>
 @optional
 
@@ -170,14 +172,15 @@
  @param broadcastController The controller instance.
  @param broadcastURL NSURL instance with URL of the resource where broacast can be viewed. Defined by broadcast service.
  */
-- (void)broadcastController:(RPBroadcastController *)broadcastController didUpdateBroadcastURL:(NSURL *)broadcastURL API_AVAILABLE(ios(11.0), tvos(11.0));
+- (void)broadcastController:(RPBroadcastController *)broadcastController didUpdateBroadcastURL:(NSURL *)broadcastURL API_DEPRECATED("No longer supported", ios(11.0, 27.0), tvos(11.0, 27.0));
 @end
 
 #if !TARGET_OS_OSX
 /*! @class RPSystemBroadcastPickerView
  @abstract View that presents the user with a button for starting iOS system broadcast using preferred broadcast service.
  */
-API_AVAILABLE(ios(12.0)) API_UNAVAILABLE(tvos, macos)
+API_DEPRECATED("Use ScreenCaptureKit SCContentSharingPicker instead", ios(12.0, 27.0))
+API_UNAVAILABLE(tvos, macos)
 @interface RPSystemBroadcastPickerView : UIView <NSCoding>
 /*  @abstract Bundle identifier of extension that should be used for broadcast. Default is nil which means that all extensions will be presented */
 @property (nonatomic, strong, nullable) NSString *preferredExtension;
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPBroadcastExtension.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPBroadcastExtension.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPBroadcastExtension.h	2026-04-19 02:39:09
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPBroadcastExtension.h	2026-05-22 08:44:53
@@ -26,12 +26,12 @@
 /*! @abstract Load information about the broadcasting app.
     @param handler block which will be supplied a bundleID, displayName and an optional appIcon.
  */
-- (void)loadBroadcastingApplicationInfoWithCompletion:(void (^)(NSString *bundleID, NSString *displayName, NSImage *__nullable appIcon))handler API_AVAILABLE(macos(11.0)) API_UNAVAILABLE(ios, tvos, macCatalyst);
+- (void)loadBroadcastingApplicationInfoWithCompletion:(void (^)(NSString *bundleID, NSString *displayName, NSImage *__nullable appIcon))handler API_DEPRECATED("No longer supported", macos(11.0, 27.0)) API_UNAVAILABLE(ios, tvos, macCatalyst);
 #else
 /*! @abstract Load information about the broadcasting app.
     @param handler block which will be supplied a bundleID, displayName and an optional appIcon.
  */
-- (void)loadBroadcastingApplicationInfoWithCompletion:(void (^)(NSString *bundleID, NSString *displayName, UIImage *__nullable appIcon))handler;
+- (void)loadBroadcastingApplicationInfoWithCompletion:(void (^)(NSString *bundleID, NSString *displayName, UIImage *__nullable appIcon))handler API_DEPRECATED("No longer supported", ios(10.0, 27.0), tvos(10.0, 27.0));
 #endif
 
 /*! @abstract Method to be called when the extension should finish. Deprecated.
@@ -48,7 +48,7 @@
  */
 #endif
 
-- (void)completeRequestWithBroadcastURL:(NSURL *)broadcastURL setupInfo:(nullable NSDictionary <NSString *, NSObject <NSCoding> *> *)setupInfo API_AVAILABLE(ios(11.0), tvos(11.0), macos(11.0));
+- (void)completeRequestWithBroadcastURL:(NSURL *)broadcastURL setupInfo:(nullable NSDictionary <NSString *, NSObject <NSCoding> *> *)setupInfo API_DEPRECATED("No longer supported", ios(11.0, 27.0), tvos(11.0, 27.0), macos(11.0, 27.0));
 
 @end
 
@@ -56,7 +56,7 @@
  @class RPBroadcastProcessExtension
  @abstract Base class for extensions that are responsible for handling video and audio data.
  */
-API_AVAILABLE(ios(10.0), tvos(10.0), macos(11.0))
+API_DEPRECATED("No longer supported", ios(10.0, 27.0), tvos(10.0, 27.0), macos(11.0, 27.0))
 @interface RPBroadcastHandler : NSObject <NSExtensionRequestHandling>
 /*! @abstract Call this method, supplying it with a dictionary defined by the service, to populate the serviceInfo property on RPBroadcastController. This can be used to communicate viewing stats or messages back to the broadcasting app.
  @param serviceInfo Dictionary that can be passed back to the broadcasting app that may contain information about the ongoing broadcast.
@@ -74,7 +74,7 @@
     @class RPBroadcastMP4ClipHandler
     @abstract Subclass this class to handle movie clips as they are recorded by ReplayKit during the broadcast flow. ReplayKit will call processMP4ClipWithURL when a movie clip is available for processing.
  */
-API_DEPRECATED("No longer supported, use RPBroadcastSampleHandler instead.", ios(10.0, 11.0), tvos(10.0, 11.0)) API_UNAVAILABLE(macos)
+API_DEPRECATED("No longer supported", ios(10.0, 11.0), tvos(10.0, 11.0)) API_UNAVAILABLE(macos)
 @interface RPBroadcastMP4ClipHandler : RPBroadcastHandler
 /*! @abstract Method which ReplayKit will call when an MP4 movie clip is ready for processing.
  @param mp4ClipURL URL that points to the location of the movie clip recorded by ReplayKit. Note that the URL may be nil in certain cases such as an error.
@@ -91,7 +91,7 @@
 @end
 #endif // !TARGET_OS_OSX
 
-API_AVAILABLE(ios(10.0), tvos(10.0), macos(11.0))
+API_DEPRECATED("Use SCStreamOutputType instead", ios(10.0, 27.0), tvos(10.0, 27.0), macos(11.0, 27.0))
 typedef NS_ENUM (NSInteger, RPSampleBufferType) {
     RPSampleBufferTypeVideo = 1,
     RPSampleBufferTypeAudioApp,
@@ -102,21 +102,22 @@
  @key RPVideoSampleOrientationKey
  @abstract Use this key in conjunction with CMGetAttachment on CMSampleBufferRef to get the orientation for the sample. The orientation will follow the enum CGImagePropertyOrientation
  */
-API_AVAILABLE(ios(11.0), tvos(11.0), macos(11.0))
+API_DEPRECATED("No longer supported", ios(11.0, 27.0), tvos(11.0, 27.0), macos(11.0, 27.0))
 extern NSString * const RPVideoSampleOrientationKey;
 
 /*!
  @key RPApplicationInfoBundleIdentifierKey
  @abstract Use this key to retrieve bundle identifier from dictionary provided by broadcastAnnotatedWithApplicationInfo
  */
-API_AVAILABLE(ios(11.2), macos(11.0)) API_UNAVAILABLE(tvos)
+API_DEPRECATED("No longer supported", ios(11.2, 27.0), macos(11.0, 27.0))
+API_UNAVAILABLE(tvos)
 extern NSString * const RPApplicationInfoBundleIdentifierKey;
 
 /*!
  @class RPBroadcastSampleHandler
  @abstract Subclass this class to handle CMSampleBuffer objects as they are captured by ReplayKit. To enable this mode of handling, set the RPBroadcastProcessMode in the extension's info.plist to RPBroadcastProcessModeSampleBuffer.
  */
-API_AVAILABLE(ios(10.0), tvos(10.0), macos(11.0))
+API_DEPRECATED("No longer supported", ios(10.0, 27.0), tvos(10.0, 27.0), macos(11.0, 27.0))
 @interface RPBroadcastSampleHandler : RPBroadcastHandler
 
 /*! @abstract Method is called when the RPBroadcastController startBroadcast method is called from the broadcasting application.
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPError.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPError.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPError.h	2026-04-19 00:54:07
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPError.h	2026-05-22 08:44:53
@@ -6,8 +6,8 @@
 //
 
 #import <Foundation/Foundation.h>
-extern NSString *const __nonnull RPRecordingErrorDomain;
-extern NSString *const __nonnull SCStreamErrorDomain;
+extern NSErrorDomain const __nonnull RPRecordingErrorDomain;
+extern NSErrorDomain const __nonnull SCStreamErrorDomain;
 
 NS_ASSUME_NONNULL_BEGIN
 
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPPreviewViewController.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPPreviewViewController.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPPreviewViewController.h	2026-04-19 00:54:07
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPPreviewViewController.h	2026-05-22 12:45:36
@@ -28,9 +28,10 @@
  @abstract View controller that allows the user to preview/edit a movie recorded with ReplayKit. Passed into the completion handler supplied to [RPScreenRecorder stopRecordingWithHandler:].
  */
 #if TARGET_OS_OSX
-API_AVAILABLE(macos(11.0))
+API_DEPRECATED("Use SCRecordingEditor instead", macos(11.0, 27.0))
 @interface RPPreviewViewController : NSViewController
 #else
+API_DEPRECATED("Use SCRecordingEditor instead", ios(9.0, 27.0), tvos(10.0, 27.0))
 @interface RPPreviewViewController : UIViewController
 #endif
 @property (nonatomic, weak, nullable) id<RPPreviewViewControllerDelegate>previewControllerDelegate;
@@ -39,6 +40,7 @@
 #endif
 @end
 
+API_DEPRECATED("Use SCRecordingEditor instead", ios(9.0, 27.0), tvos(10.0, 27.0), macos(11.0, 27.0))
 @protocol RPPreviewViewControllerDelegate <NSObject>
 @optional
 /* @abstract Called when the view controller is finished. */
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPScreenRecorder.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPScreenRecorder.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPScreenRecorder.h	2026-04-18 20:20:35
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ReplayKit.framework/Headers/RPScreenRecorder.h	2026-05-22 12:45:36
@@ -24,7 +24,8 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos)
+API_DEPRECATED("Use SCVideoEffectOutput cameraDevice instead", ios(11.0, 27.0), macos(11.0, 27.0))
+API_UNAVAILABLE(tvos)
 typedef NS_ENUM (NSInteger, RPCameraPosition) {
     RPCameraPositionFront = 1,
     RPCameraPositionBack,
@@ -57,44 +58,44 @@
 /*! @abstract Starts app recording with a completion handler. Note that before recording actually starts, the user may be prompted with UI to confirm recording.
  @discussion handler Called after user interactions are complete. Will be passed an optional NSError in the RPRecordingErrorDomain domain if there was an issue starting the recording.
  */
-- (void)startRecordingWithHandler:(nullable void (^)(NSError *_Nullable error))handler API_AVAILABLE(ios(10.0), tvos(10.0), macos(11.0));
+- (void)startRecordingWithHandler:(nullable void (^)(NSError *_Nullable error))handler API_DEPRECATED("Use ScreenCaptureKit SCStream with SCRecordingOutput instead", ios(10.0, 27.0), tvos(10.0, 27.0), macos(11.0, 27.0));
 
 /*! @abstract Stops app recording with a completion handler.
  @discussion handler Called when the movie is ready. Will return an instance of RPPreviewViewController on success which should be presented using [UIViewController presentViewController:animated:completion:]. Will be passed an optional NSError in the RPRecordingErrorDomain domain if there was an issue stopping the recording.
  */
-- (void)stopRecordingWithHandler:(nullable void (^)(RPPreviewViewController *_Nullable previewViewController, NSError *_Nullable error))handler;
+- (void)stopRecordingWithHandler:(nullable void (^)(RPPreviewViewController *_Nullable previewViewController, NSError *_Nullable error))handler API_DEPRECATED("Use ScreenCaptureKit SCStream with SCRecordingOutput instead", ios(9.0, 27.0), tvos(10.0, 27.0), macos(11.0, 27.0));
 
 /*! @abstract Stops app recording with output URL and completion handler.
  @param url Output URL for app recording movie.
  @discussion handler Called when  movie is written to specified output URL. Will be passed an optional NSError in the RPRecordingErrorDomain domain if there was an issue stopping the recording and writing the output URL.
  */
-- (void)stopRecordingWithOutputURL:(NSURL *)url completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler NS_SWIFT_NAME(stopRecording(withOutput:completionHandler:)) API_AVAILABLE(ios(14.0), tvos(14.0), macCatalyst(14.0), macos(11.0));
+- (void)stopRecordingWithOutputURL:(NSURL *)url completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler NS_SWIFT_NAME(stopRecording(withOutput:completionHandler:)) API_DEPRECATED("Use ScreenCaptureKit SCStream with SCRecordingOutput instead", ios(14.0, 27.0), tvos(14.0, 27.0), macCatalyst(14.0, 27.0), macos(11.0, 27.0));
 
 /*! @abstract Discards the current recording. This can only be called after the handler block in stopRecordingWithHandler: is executed.
  */
-- (void)discardRecordingWithHandler:(void (^)(void))handler;
+- (void)discardRecordingWithHandler:(void (^)(void))handler API_DEPRECATED("Use ScreenCaptureKit SCStream with SCRecordingOutput instead", ios(9.0, 27.0), tvos(10.0, 27.0), macos(11.0, 27.0));
 
 /*! @abstract Starts screen and audio capture and continually calls the supplied handler with the current sampleBuffer and bufferType and passed it back to the application. Note that before recording actually starts, the user may be prompted with UI to confirm recording.
  @discussion handler Called continually with sampleBuffers and the bufferType. Will be passed an optional NSError in the RPRecordingErrorDomain domain if there was an issue starting the capture.
  */
-- (void)startCaptureWithHandler:(nullable void (^)(CMSampleBufferRef sampleBuffer, RPSampleBufferType bufferType, NSError *_Nullable error))captureHandler completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler API_AVAILABLE(ios(11.0), tvos(11.0), macos(11.0));
+- (void)startCaptureWithHandler:(nullable void (^)(CMSampleBufferRef sampleBuffer, RPSampleBufferType bufferType, NSError *_Nullable error))captureHandler completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler API_DEPRECATED("Use ScreenCaptureKit SCStream with SCStreamOutput instead", ios(11.0, 27.0), tvos(11.0, 27.0), macos(11.0, 27.0));
 
 /*! @abstract Stops screen capture with a completion handler
  @discussion handler Called after the screen capture has stopped. Will be passed an optional NSError in the RPRecordingErrorDomain domain if there was an issue stopping the capture
  */
-- (void)stopCaptureWithHandler:(nullable void (^)(NSError *_Nullable error))handler API_AVAILABLE(ios(11.0), tvos(11.0), macos(11.0));
+- (void)stopCaptureWithHandler:(nullable void (^)(NSError *_Nullable error))handler API_DEPRECATED("Use ScreenCaptureKit SCStream stopCaptureWithCompletionHandler: instead", ios(11.0, 27.0), tvos(11.0, 27.0), macos(11.0, 27.0));
 
 /*!
 @abstract Start clip recording buffering with a completion handler. Note that before recording actually starts, the user may be prompted with UI to confirm recording.
 @discussion handler Called after clip recording is started. Will be passed an optional NSError in the RPRecordingErrorDomain domain if there was an issue starting clip record buffering.
 */
-- (void)startClipBufferingWithCompletionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler API_AVAILABLE(ios(15.0), macos(12.0), tvos(15.2));
+- (void)startClipBufferingWithCompletionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler API_DEPRECATED("Use ScreenCaptureKit SCStream with SCClipBufferingOutput instead", ios(15.0, 27.0), macos(12.0, 27.0), tvos(15.2, 27.0));
 
 /*!
 @abstract Stop clip recording buffering with a completion handler.
 @discussion handler Called after clip recording session is stopped. Will be passed an optional NSError in the RPRecordingErrorDomain domain if there was an issue stopping clip record buffering.
 */
-- (void)stopClipBufferingWithCompletionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler API_AVAILABLE(ios(15.0), macos(12.0), tvos(15.2));
+- (void)stopClipBufferingWithCompletionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler API_DEPRECATED("Use ScreenCaptureKit SCStream with SCClipBufferingOutput instead", ios(15.0, 27.0), macos(12.0, 27.0), tvos(15.2, 27.0));
 
 /*!
 @abstract Exports clip recording
@@ -102,35 +103,35 @@
 @param duration Length of time in seconds for clip recording, capped at either the elapsed time, or a maximum of 15 seconds, depending on which is the shorter amount of time
 @discussion Must be called after startClipBufferingWithCompletionHandler:, otherwise this will return an error. Exports clip recording from newest samples in buffer for duration. handler Will be called after asset is finished writing to output path. Will be passed an optional NSError in the RPRecordingErrorDomain domain if there was an issue generating the clip recording.
 */
-- (void)exportClipToURL:(NSURL *)url duration:(NSTimeInterval)duration completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler API_AVAILABLE(ios(15.0), macos(12.0), tvos(15.2));
+- (void)exportClipToURL:(NSURL *)url duration:(NSTimeInterval)duration completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler API_DEPRECATED("Use ScreenCaptureKit SCStream with SCClipBufferingOutput instead", ios(15.0, 27.0), macos(12.0, 27.0), tvos(15.2, 27.0));
 
 /* @abstract Delegate instance for RPScreenRecorder. */
-@property (nonatomic, weak, nullable) id<RPScreenRecorderDelegate> delegate;
+@property (nonatomic, weak, nullable) id<RPScreenRecorderDelegate> delegate API_DEPRECATED("Use ScreenCaptureKit instead", ios(9.0, 27.0), tvos(10.0, 27.0), macos(11.0, 27.0));
 
 /* @abstract Check if ReplayKit is available on the device. Implement the screenRecorderDidChangeAvailability: on the delegate to listen for changes to this property. Can be used for key value observing. */
-@property (nonatomic, readonly, getter = isAvailable) BOOL available;
+@property (nonatomic, readonly, getter = isAvailable) BOOL available API_DEPRECATED("Use SCContentSharingPicker isAvailable instead", ios(9.0, 27.0), tvos(10.0, 27.0), macos(11.0, 27.0));
 
 /* @abstract Check if a recording session is in progress. Can be used for key value observing. */
-@property (nonatomic, readonly, getter = isRecording) BOOL recording;
+@property (nonatomic, readonly, getter = isRecording) BOOL recording API_DEPRECATED("Use SCStream isCapturing instead", ios(9.0, 27.0), tvos(10.0, 27.0), macos(11.0, 27.0));
 
 /* @abstract Specify or query whether the microphone should be enabled during recording. Can be used for key value observing. Default is NO. */
-@property (nonatomic, getter = isMicrophoneEnabled) BOOL microphoneEnabled API_UNAVAILABLE(tvos);
+@property (nonatomic, getter = isMicrophoneEnabled) BOOL microphoneEnabled API_DEPRECATED("Use SCContentSharingPickerConfiguration showsMicrophoneControl instead", ios(9.0, 27.0), macos(11.0, 27.0)) API_UNAVAILABLE(tvos);
 
 /* @abstract Specify or query whether the camera should be enabled during recording. Can be used for key value observing. Default is NO. */
-@property (nonatomic, getter = isCameraEnabled) BOOL cameraEnabled API_AVAILABLE(ios(10.0), macos(11.0)) API_UNAVAILABLE(tvos);
+@property (nonatomic, getter = isCameraEnabled) BOOL cameraEnabled API_DEPRECATED("Use SCContentSharingPickerConfiguration showsCameraControl instead", ios(10.0, 27.0), macos(11.0, 27.0)) API_UNAVAILABLE(tvos);
 
 /* @abstract Specify or query camera position. Can be used for key value observing. Default is RPCameraPositionFront. */
-@property (nonatomic) RPCameraPosition cameraPosition API_AVAILABLE(ios(11.0), macos(11.0)) API_UNAVAILABLE(tvos);
+@property (nonatomic) RPCameraPosition cameraPosition API_DEPRECATED("Use SCVideoEffectOutput cameraDevice instead", ios(11.0, 27.0), macos(11.0, 27.0)) API_UNAVAILABLE(tvos);
 
 /* @abstract A UIView instance that renders the front or back facing camera contents. This will be nil if the camera has not been enabled */
 #if !TARGET_OS_OSX
-@property (nonatomic, readonly, nullable) UIView *cameraPreviewView API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(tvos, macos);
+@property (nonatomic, readonly, nullable) UIView *cameraPreviewView API_DEPRECATED("Use ScreenCaptureKit SCVideoEffectOutput instead", ios(10.0, 27.0)) API_UNAVAILABLE(tvos, macos);
 #else
-@property (nonatomic, readonly, nullable) NSView *cameraPreviewView API_AVAILABLE(ios(10.0), macos(11.0)) API_UNAVAILABLE(tvos);
+@property (nonatomic, readonly, nullable) NSView *cameraPreviewView API_DEPRECATED("Use ScreenCaptureKit instead", macos(11.0, 27.0)) API_UNAVAILABLE(tvos);
 #endif
 @end
 
-API_AVAILABLE(ios(9.0), tvos(10.0), macos(11.0))
+API_DEPRECATED("Use ScreenCaptureKit instead", ios(9.0, 27.0), tvos(10.0, 27.0), macos(11.0, 27.0))
 @protocol RPScreenRecorderDelegate <NSObject>
 @optional
 
@@ -140,11 +141,11 @@
  @param previewViewController If a partial movie is available before it was stopped, an instance of RPPreviewViewController will be returned.
  */
 - (void)screenRecorder:(RPScreenRecorder *)screenRecorder didStopRecordingWithError:(NSError *)error previewViewController:(nullable RPPreviewViewController *)previewViewController API_DEPRECATED("No longer supported", ios(9.0, 10.0), tvos(10.0, 10.0)) API_UNAVAILABLE(macos);
-- (void)screenRecorder:(RPScreenRecorder *)screenRecorder didStopRecordingWithPreviewViewController:(nullable RPPreviewViewController *)previewViewController error:(nullable NSError *)error API_AVAILABLE(ios(11.0), tvos(11.0), macos(11.0));
+- (void)screenRecorder:(RPScreenRecorder *)screenRecorder didStopRecordingWithPreviewViewController:(nullable RPPreviewViewController *)previewViewController error:(nullable NSError *)error API_DEPRECATED("Use ScreenCaptureKit SCStream with SCRecordingOutput instead", ios(11.0, 27.0), tvos(11.0, 27.0), macos(11.0, 27.0));
 
 /*! @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.
  */
-- (void)screenRecorderDidChangeAvailability:(RPScreenRecorder *)screenRecorder;
+- (void)screenRecorderDidChangeAvailability:(RPScreenRecorder *)screenRecorder API_DEPRECATED("Use ScreenCaptureKit instead", ios(9.0, 27.0), tvos(10.0, 27.0), macos(11.0, 27.0));
 @end
 NS_ASSUME_NONNULL_END

Clone this wiki locally