Skip to content

ScreenCaptureKit macOS xcode15.0 b2

Haritha Mohan edited this page Sep 7, 2023 · 3 revisions

#ScreenCaptureKit.framework https://github.com/xamarin/xamarin-macios/pull/18965

diff -ruN /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/RPReportingAgent.h /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/RPReportingAgent.h
--- /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/RPReportingAgent.h	1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/RPReportingAgent.h	2023-06-15 00:01:04
@@ -0,0 +1,53 @@
+//
+// RPReportingAgent.h
+// replayd
+//
+// Created by Karthick Santhanam on 6/27/17.
+// Copyright © 2017 Apple Inc. All rights reserved.
+//
+#import <TargetConditionals.h>
+#if !TARGET_OS_SIMULATOR
+
+#import <Foundation/Foundation.h>
+#import <CoreGraphics/CoreGraphics.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+#define RP_REPORTING_CLIENT_NAME @"ReplayKit"
+
+#define RP_REPORTING_SERVICE_NAME_SYSTEM_RECORDING      @"SystemRecording"
+#define RP_REPORTING_SERVICE_NAME_SYSTEM_BROADCAST      @"SystemBroadcast"
+#define RP_REPORTING_SERVICE_NAME_IN_APP_RECORDING      @"InAppRecording"
+#define RP_REPORTING_SERVICE_NAME_IN_APP_BROADCAST      @"InAppBroadcast"
+#define RP_REPORTING_SERVICE_NAME_IN_APP_CAPTURE        @"InAppCapture"
+#define RP_REPORTING_SERVICE_NAME_IN_APP_CLIP           @"InAppClip"
+#define RP_REPORTING_SERVICE_NAME_SCREEN_CAPTURE_KIT    @"SCKCapture"
+
+#define RP_REPORTING_SUMMARY_EVENT            1
+#define RP_REPORTING_END_REASON_SUMMARY_EVENT 2
+#define RP_REPORTING_SCREENSHOT_EVENT         3
+
+@interface RPReportingAgent : NSObject
+
+@property (nonatomic, strong) NSString *serviceName;
+@property (nonatomic, assign) NSTimeInterval activeDuration;    // in seconds
+@property (nonatomic, assign) CGSize videoCaptureSize;
+@property (nonatomic, assign) NSInteger videoCaptureRate;
+@property (nonatomic, assign) NSInteger videoFrameCount;
+@property (nonatomic, assign) NSInteger appAudioFrameCount;
+@property (nonatomic, assign) NSInteger micFrameCount;
+@property (nonatomic, assign) BOOL frontCameraUsed;
+@property (nonatomic, assign) BOOL backCameraUsed;
+@property (nonatomic, assign) NSUInteger recordedFileSize; // in bytes
+@property (nonatomic, assign) NSInteger endReason;
+
+- (instancetype)initWithServiceName:(NSString *)serviceName;
+- (NSDictionary *)collectSummaryEventMetrics;
+- (void)reportEventWithType:(uint16_t)eventType dictionary:(NSDictionary *)payloadDict clientBundleId:(NSString *)clientBundleId;
++ (void)reportSessionEnded:(uint16_t)eventType endReason:(NSError *)endReason withServiceName:(NSString *)serviceName clientBundleId:(NSString *)clientBundleId;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif // !TARGET_OS_SIMULATOR
diff -ruN /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCContentSharingPicker.h /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCContentSharingPicker.h
--- /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCContentSharingPicker.h	2023-05-31 23:24:05
+++ /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/ScreenCaptureKit.framework/Headers/SCContentSharingPicker.h	2023-06-15 00:01:04
@@ -31,7 +31,8 @@
  @discussion SCContentSharingPickerConfiguration is an object which can optionally be set on the SCContentSharingPicker for customized configuration.
 */
 API_AVAILABLE(macos(14.0))
-@interface SCContentSharingPickerConfiguration : NSObject
+NS_REFINED_FOR_SWIFT
+@interface SCContentSharingPickerConfiguration <NSCopying>: NSObject
 /*!
  @abstract allowedPickerModes Limits the type of selections available to the user when the picker is presented. Default is 0, no excluded picking modes
  */
@@ -69,14 +70,14 @@
 @property (class, readonly) SCContentSharingPicker *sharedPicker;
 
 /*!
- @abstract defaultConfiguration for the content sharing picker, if nil, a default configuration will be created. If a stream does not have a configuration, the default configuration will be used.
+ @abstract defaultConfiguration for the content sharing picker. If a stream does not have a configuration, the default configuration will be used.
  */
-@property (nonatomic, nullable, copy) SCContentSharingPickerConfiguration *defaultConfiguration;
+@property (nonatomic, copy) SCContentSharingPickerConfiguration *defaultConfiguration NS_REFINED_FOR_SWIFT;
 
 /*!
  @abstract maximumStreamCount An integer value that, if set, limits when Control Center will show the UI to present a picker with no associated stream. If set to 0, Control Center will never ever show UI to present a picker without an associated stream.
  */
-@property (nonatomic, nullable, strong) NSNumber *maximumStreamCount;
+@property (nonatomic, nullable, strong) NSNumber *maximumStreamCount NS_REFINED_FOR_SWIFT;
 
 /*!
  @abstract active A picker needs to be marked as active for its UI to appear. If `startPickingContent` is called and the picker is not marked as active, the picker will not appear.
@@ -103,7 +104,7 @@
  @param stream stream for optional picking configuration
  @discussion Sets optional configuration for the picker for a specific stream. If this is not set, the stream will use the defaultConfiguration instead
 */
-- (void)setConfiguration:(nullable SCContentSharingPickerConfiguration *)pickerConfig forStream:(SCStream *)stream;
+- (void)setConfiguration:(nullable SCContentSharingPickerConfiguration *)pickerConfig forStream:(SCStream *)stream NS_REFINED_FOR_SWIFT;
 
 /*!
  @abstract present
Clone this wiki locally