-
Notifications
You must be signed in to change notification settings - Fork 522
ScreenCaptureKit macOS xcode16.2 b2
Rolf Bjarne Kvinge edited this page Nov 29, 2024
·
2 revisions
#ScreenCaptureKit.framework https://github.com/xamarin/xamarin-macios/pull/21730
diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCContentSharingPicker.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCContentSharingPicker.h
--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCContentSharingPicker.h 2024-09-29 00:51:47
+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCContentSharingPicker.h 2024-10-24 18:42:42
@@ -22,7 +22,7 @@
SCContentSharingPickerModeSingleApplication = 1 << 2,
SCContentSharingPickerModeMultipleApplications = 1 << 3,
SCContentSharingPickerModeSingleDisplay = 1 << 4
-} API_AVAILABLE(macos(14.0));
+} API_AVAILABLE(macos(14.0), macCatalyst(18.2));
@protocol SCContentSharingPickerObserver;
@@ -30,7 +30,7 @@
@abstract SCContentSharingPickerConfiguration
@discussion SCContentSharingPickerConfiguration is an object which can optionally be set on the SCContentSharingPicker for customized configuration.
*/
-API_AVAILABLE(macos(14.0))
+API_AVAILABLE(macos(14.0), macCatalyst(18.2))
NS_REFINED_FOR_SWIFT
@interface SCContentSharingPickerConfiguration <NSCopying>: NSObject
/*!
@@ -59,7 +59,7 @@
@abstract SCContentSharingPicker
@discussion SCContentSharingPicker is an object created by client applications to opt-in to Control Center's content picker
*/
-API_AVAILABLE(macos(14.0))
+API_AVAILABLE(macos(14.0), macCatalyst(18.2))
@interface SCContentSharingPicker : NSObject
- (instancetype)init NS_UNAVAILABLE;
+ (instancetype)new NS_UNAVAILABLE;
@@ -139,7 +139,7 @@
@abstract SCContentSharingPickerObserver
@discussion SCContentSharingPickerObserver the protocol that is used to inform client when the picker did make selection or cancel
*/
-API_AVAILABLE(macos(14.0))
+API_AVAILABLE(macos(14.0), macCatalyst(18.2))
@protocol SCContentSharingPickerObserver <NSObject>
/*!
@abstract contentSharingPicker:didCancelforStream:
diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCError.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCError.h
--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCError.h 2024-09-29 00:51:47
+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCError.h 2024-10-24 18:27:00
@@ -6,11 +6,11 @@
//
#import <Foundation/Foundation.h>
-API_AVAILABLE(macos(12.3))
+API_AVAILABLE(macos(12.3), macCatalyst(18.2))
extern NSString *const __nonnull SCStreamErrorDomain;
NS_ASSUME_NONNULL_BEGIN
-API_AVAILABLE(macos(12.3))
+API_AVAILABLE(macos(12.3), macCatalyst(18.2))
typedef NS_ERROR_ENUM (SCStreamErrorDomain, SCStreamErrorCode) {
SCStreamErrorUserDeclined API_AVAILABLE(macos(12.3)) = -3801, // The user chose not to authorize capture
SCStreamErrorFailedToStart API_AVAILABLE(macos(12.3)) = -3802, // The stream failed to start
diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCRecordingOutput.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCRecordingOutput.h
--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCRecordingOutput.h 2024-09-29 00:51:47
+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCRecordingOutput.h 2024-10-24 18:27:00
@@ -20,7 +20,7 @@
@abstract SCRecordingOutputConfiguration
@discussion SCRecordingOutputConfiguration is an object that encapsulates the configuration for recording.
*/
-API_AVAILABLE(macos(15.0))
+API_AVAILABLE(macos(15.0), macCatalyst(18.2))
@interface SCRecordingOutputConfiguration : NSObject
/*!
@@ -56,7 +56,7 @@
@abstract
Defines an interface for delegates of SCRecordingOutput to respond to events that occur in the process of recording to file.
*/
-API_AVAILABLE(macos(15.0))
+API_AVAILABLE(macos(15.0), macCatalyst(18.2))
@protocol SCRecordingOutputDelegate <NSObject>
@optional
@@ -83,7 +83,7 @@
@end
-API_AVAILABLE(macos(15.0))
+API_AVAILABLE(macos(15.0), macCatalyst(18.2))
@interface SCRecordingOutput : NSObject
/*!
@abstract Indicates current duration of recording to the output file.
diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCScreenshotManager.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCScreenshotManager.h
--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCScreenshotManager.h 2024-09-29 00:51:47
+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCScreenshotManager.h 2024-10-24 18:27:00
@@ -10,7 +10,7 @@
NS_ASSUME_NONNULL_BEGIN
-API_AVAILABLE(macos(14.0))
+API_AVAILABLE(macos(14.0), macCatalyst(18.2))
@interface SCScreenshotManager : NSObject
- (instancetype)init API_UNAVAILABLE(ios, tvos, macCatalyst, macos);
/*!
diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCShareableContent.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCShareableContent.h
--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCShareableContent.h 2024-09-29 00:51:47
+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCShareableContent.h 2024-10-24 18:27:00
@@ -25,10 +25,10 @@
SCShareableContentStyleWindow,
SCShareableContentStyleDisplay,
SCShareableContentStyleApplication
-};
+} API_AVAILABLE(macos(12.3), macCatalyst(18.2));
-API_AVAILABLE(macos(12.3))
+API_AVAILABLE(macos(12.3), macCatalyst(18.2))
@interface SCRunningApplication : NSObject
/*!
@abstract bundleIdentifier the bundleIdentifier for the SCRunningApplication
@@ -48,7 +48,7 @@
+ (instancetype)new NS_UNAVAILABLE;
@end
-API_AVAILABLE(macos(12.3))
+API_AVAILABLE(macos(12.3), macCatalyst(18.2))
@interface SCWindow : NSObject
/*!
@abstract windowID the CGWindowID for the SCWindow
@@ -88,7 +88,7 @@
+ (instancetype)new NS_UNAVAILABLE;
@end
-API_AVAILABLE(macos(12.3))
+API_AVAILABLE(macos(12.3), macCatalyst(18.2))
@interface SCDisplay : NSObject
/*!
@abstract displayId the CGDirectDisplayID for the SCDisplay
@@ -117,7 +117,7 @@
@abstract SCShareableContentInfo
@discussion SCShareableContentInformation is an object that has information about the content of the stream
*/
-API_AVAILABLE(macos(14.0))
+API_AVAILABLE(macos(14.0), macCatalyst(18.2))
@interface SCShareableContentInfo : NSObject
/*!
@abstract style of stream
@@ -136,7 +136,7 @@
@end
-API_AVAILABLE(macos(12.3))
+API_AVAILABLE(macos(12.3), macCatalyst(18.2))
@interface SCShareableContent : NSObject
/*!
@abstract getShareableContentWithCompletionHandler:completionHandler
diff -ruN /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCStream.h /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCStream.h
--- /Applications/Xcode_16.1.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCStream.h 2024-09-29 00:51:47
+++ /Applications/Xcode_16.2.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCStream.h 2024-10-24 18:27:00
@@ -27,9 +27,9 @@
*/
typedef NS_ENUM(NSInteger, SCStreamOutputType) {
SCStreamOutputTypeScreen,
- SCStreamOutputTypeAudio API_AVAILABLE(macos(13.0)),
- SCStreamOutputTypeMicrophone API_AVAILABLE(macos(15.0))
-};
+ SCStreamOutputTypeAudio API_AVAILABLE(macos(13.0), macCatalyst(18.2)),
+ SCStreamOutputTypeMicrophone API_AVAILABLE(macos(15.0), macCatalyst(18.2))
+} API_AVAILABLE(macos(12.3), macCatalyst(18.2));
/*!
@typedef SCFrameStatus
@@ -48,7 +48,7 @@
SCFrameStatusSuspended,
SCFrameStatusStarted,
SCFrameStatusStopped
-};
+} API_AVAILABLE(macos(12.3), macCatalyst(18.2));
/*!
@typedef SCPresenterOverlayAlertSetting
@@ -62,7 +62,7 @@
SCPresenterOverlayAlertSettingSystem,
SCPresenterOverlayAlertSettingNever,
SCPresenterOverlayAlertSettingAlways
-} API_AVAILABLE(macos(14.0));
+} API_AVAILABLE(macos(14.0), macCatalyst(18.2));
/*!
@typedef SCStreamType
@@ -78,7 +78,7 @@
SCCaptureResolutionAutomatic,
SCCaptureResolutionBest,
SCCaptureResolutionNominal
-};
+} API_AVAILABLE(macos(12.3), macCatalyst(18.2));
/*!
@typedef SCCaptureDynamicRange
@@ -91,13 +91,13 @@
SCCaptureDynamicRangeSDR,
SCCaptureDynamicRangeHDRLocalDisplay,
SCCaptureDynamicRangeHDRCanonicalDisplay
-} API_AVAILABLE(macos(15.0));
+} API_AVAILABLE(macos(15.0), macCatalyst(18.2));
/*!
@abstract SCContentFilter
@discussion SCContentFilter is a object that determines the exact content to be captured in the SCStream. It can be filtered through displays, windows, excluded windows or applications.
*/
-API_AVAILABLE(macos(12.3))
+API_AVAILABLE(macos(12.3), macCatalyst(18.2))
@interface SCContentFilter : NSObject
/*!
@abstract streamType type of stream
@@ -170,7 +170,7 @@
@abstract SCStreamConfiguration
@discussion SCStreamConfiguration is an object that encapsulates the SCStream properties such as output width, height, pixelformat and others.
*/
-API_AVAILABLE(macos(12.3))
+API_AVAILABLE(macos(12.3), macCatalyst(18.2))
@interface SCStreamConfiguration : NSObject
/*!
@@ -186,7 +186,7 @@
SCStreamConfigurationPresetCaptureHDRStreamCanonicalDisplay,
SCStreamConfigurationPresetCaptureHDRScreenshotLocalDisplay,
SCStreamConfigurationPresetCaptureHDRScreenshotCanonicalDisplay
-} NS_SWIFT_NAME(SCStreamConfiguration.Preset) API_AVAILABLE(macos(15.0));
+} NS_SWIFT_NAME(SCStreamConfiguration.Preset) API_AVAILABLE(macos(15.0), macCatalyst(18.2));
/*!
@abstract SCStreamProperty for output width as measured in pixels. Default is set to 1920.
@@ -342,9 +342,9 @@
@property(nonatomic, assign) BOOL captureMicrophone API_AVAILABLE(macos(15.0));
/*!
- @abstract SCStreamProperty that specifies which microphone device to capture. This deviceID is the uniqueID from AVCaptureDevice for the microphone. System Default Microphone will be used if not specified by client.
+ @abstract SCStreamProperty that specifies which microphone device to capture. This deviceID is the uniqueID from AVCaptureDevice for the microphone. System Default Microphone will be used if not specified by client. For Mac Catalyst apps, the System Default Microphone will be captured.
*/
-@property(nonatomic, strong, nullable) NSString *microphoneCaptureDeviceID API_AVAILABLE(macos(15.0));
+@property(nonatomic, strong, nullable) NSString *microphoneCaptureDeviceID API_AVAILABLE(macos(15.0)) API_UNAVAILABLE(macCatalyst);
/*!
@abstract SCStreamProperty client will choose captureDynamicRange between SCCaptureDynamicRangeSDR, SCCaptureDynamicRangeHDRLocalDisplay, SCCaptureDynamicRangeHDRCanonicalDisplay. By default, the stream is capturing with SCCaptureDynamicRangeSDR. HDR capture is only supported with Apple Silicon Mac, setting this property on Intel Mac will have no effect. HDR recording is not support yet, adding a recording output to a stream with SCCaptureDynamicRangeHDR set will fail.
@@ -365,68 +365,68 @@
@abstract SCStream
@discussion SCStream is the object that takes in an SCContentFilter and sets up a contentstream that gives the calling application back the screen captures based on the contentfilter and settings
*/
-API_AVAILABLE(macos(12.3))
+API_AVAILABLE(macos(12.3), macCatalyst(18.2))
@protocol SCStreamDelegate;
-API_AVAILABLE(macos(12.3))
+API_AVAILABLE(macos(12.3), macCatalyst(18.2))
typedef NSString * SCStreamFrameInfo NS_TYPED_ENUM;
/*!
@key SCStreamFrameInfoStatus
@abstract The key for the CFDictionary attached to the CMSampleBuffer that denotes the frames SCFrameStatus
*/
-extern SCStreamFrameInfo const SCStreamFrameInfoStatus API_AVAILABLE(macos(12.3));
+extern SCStreamFrameInfo const SCStreamFrameInfoStatus API_AVAILABLE(macos(12.3), macCatalyst(18.2));
/*!
@key SCStreamFrameInfoDisplayTime
@abstract The key for the CFDictionary attached to the CMSampleBuffer for the mach absolute time when the event occurred. For a frame event, this is when the frame was displayed by the window server.
*/
-extern SCStreamFrameInfo const SCStreamFrameInfoDisplayTime API_AVAILABLE(macos(12.3));
+extern SCStreamFrameInfo const SCStreamFrameInfoDisplayTime API_AVAILABLE(macos(12.3), macCatalyst(18.2));
/*!
@key SCStreamFrameInfoScaleFactor
@abstract The key for the CFDictionary attached to the CMSampleBuffer for the display resolution associated with the frame. Display resolution is the pixel to point scaling factor. It should be in the range of [1, 4].
*/
-extern SCStreamFrameInfo const SCStreamFrameInfoScaleFactor API_AVAILABLE(macos(12.3));
+extern SCStreamFrameInfo const SCStreamFrameInfoScaleFactor API_AVAILABLE(macos(12.3), macCatalyst(18.2));
/*!
@key SCStreamFrameInfoContentScale
@abstract The key for the CFDictionary attached to the CMSampleBuffer for the content scale associated with the frame. Content scale is the scaling factor from original content size to its size in surface.
*/
-extern SCStreamFrameInfo const SCStreamFrameInfoContentScale API_AVAILABLE(macos(12.3));
+extern SCStreamFrameInfo const SCStreamFrameInfoContentScale API_AVAILABLE(macos(12.3), macCatalyst(18.2));
/*!
@key SCStreamFrameInfoContentRect
@abstract The key for the CFDictionary attached to the CMSampleBuffer for the content rect associated with the frame. Content rect is the size and location of content in points in surface.
*/
-extern SCStreamFrameInfo const SCStreamFrameInfoContentRect API_AVAILABLE(macos(12.3));
+extern SCStreamFrameInfo const SCStreamFrameInfoContentRect API_AVAILABLE(macos(12.3), macCatalyst(18.2));
/*!
@key SCStreamFrameInfoDirtyRects
@abstract The key for the CFDictionary attached to the CMSampleBuffer for an array of rectangles that is the union of both rectangles that were redrawn and rectangles that were moved. This is an array of CGRect in NSValue. The CGRects elements are specified in pixels.
*/
-extern SCStreamFrameInfo const SCStreamFrameInfoDirtyRects API_AVAILABLE(macos(12.3));
+extern SCStreamFrameInfo const SCStreamFrameInfoDirtyRects API_AVAILABLE(macos(12.3), macCatalyst(18.2));
/*!
@key SCStreamFrameInfoScreenRect
@abstract The key for the CFDictionary attached to the CMSampleBuffer for the onscreen location of the captured content
*/
-extern SCStreamFrameInfo const SCStreamFrameInfoScreenRect API_AVAILABLE(macos(13.1));
+extern SCStreamFrameInfo const SCStreamFrameInfoScreenRect API_AVAILABLE(macos(13.1), macCatalyst(18.2));
/*!
@key SCStreamFrameInfoBoundingRect
@abstract The key for the CFDictionary attached to the CMSampleBuffer for the bounding rect associated with the frame. Bounding rect is the size and location of smallest bounding box containing all captured windows in points and in surface coordinates.
*/
-extern SCStreamFrameInfo const SCStreamFrameInfoBoundingRect API_AVAILABLE(macos(14.0));
+extern SCStreamFrameInfo const SCStreamFrameInfoBoundingRect API_AVAILABLE(macos(14.0), macCatalyst(18.2));
/*!
@key SCStreamFrameInfoPresenterOverlayContentRect
@abstract The key for the CFDictionary attached to the CMSampleBuffer for the content rect associated with the frame while in presenter overlay. In presenter overlay small, this content rect is the size and location of smallest bounding box containing all captured windows plus small overlay window in points and in surface coordinates.
In presenter overlay large, this content rect is the size and location of shared content in points and in surface coordinates.
*/
-extern SCStreamFrameInfo const SCStreamFrameInfoPresenterOverlayContentRect API_AVAILABLE(macos(14.2));
+extern SCStreamFrameInfo const SCStreamFrameInfoPresenterOverlayContentRect API_AVAILABLE(macos(14.2), macCatalyst(18.2));
@protocol SCStreamOutput;
-API_AVAILABLE(macos(12.3))
+API_AVAILABLE(macos(12.3), macCatalyst(18.2))
@interface SCStream : NSObject
/*!
@@ -515,7 +515,7 @@
@end
-API_AVAILABLE(macos(12.3))
+API_AVAILABLE(macos(12.3), macCatalyst(18.2))
@protocol SCStreamOutput <NSObject>
@optional
/*!
@@ -530,7 +530,7 @@
@abstract SCStreamDelegate
@discussion SCStreamDelegate is the object that adheres to the SCStream delegate call backs
*/
-API_AVAILABLE(macos(12.3))
+API_AVAILABLE(macos(12.3), macCatalyst(18.2))
@protocol SCStreamDelegate <NSObject>
@optional
/*!
@@ -555,8 +555,21 @@
*/
- (void)outputVideoEffectDidStopForStream:(SCStream *)stream API_AVAILABLE(macos(14.0));
-@end
+/*!
+ @abstract streamDidBecomeActive:
+ @param stream the SCStream object
+ @discussion notifies the delegate the first time any window that was being shared in the stream is re-opened after all the windows being shared are closed. When all the windows being shared are closed, the client will receive streamDidBecomeInactive:.
+ */
+- (void)streamDidBecomeActive:(SCStream *)stream API_AVAILABLE(macos(15.2));
+/*!
+ @abstract streamDidBecomeInactive:
+ @param stream the SCStream object
+ @discussion notifies the delegate that all the windows that are currently being shared are exited. This callback occurs for all content filter types.
+*/
+- (void)streamDidBecomeInactive:(SCStream *)stream API_AVAILABLE(macos(15.2));
+
+@end
NS_ASSUME_NONNULL_END