The Swift Package Index logo.Swift Package Index

Build Information

Failed to build SessionReplaySDK, reference 1.0.0 (2a599b), with Swift 6.4 for watchOS using Xcode 27.0 on 27 Sep 2026 05:33:26 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme SessionReplaySDK -destination generic/platform=watchOS

Build Log

/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:976:47: error: 'UITouch' is unavailable in watchOS
 974 |     }
 975 |
 976 |     override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent) {
     |                                               `- error: 'UITouch' is unavailable in watchOS
 977 |         super.touchesEnded(touches, with: event)
 978 |         record(touches)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:976:69: error: 'UIEvent' is unavailable in watchOS
 974 |     }
 975 |
 976 |     override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent) {
     |                                                                     `- error: 'UIEvent' is unavailable in watchOS
 977 |         super.touchesEnded(touches, with: event)
 978 |         record(touches)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
   |            `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType     type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:982:51: error: 'UITouch' is unavailable in watchOS
 980 |     }
 981 |
 982 |     override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent) {
     |                                                   `- error: 'UITouch' is unavailable in watchOS
 983 |         super.touchesCancelled(touches, with: event)
 984 |         record(touches)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:982:73: error: 'UIEvent' is unavailable in watchOS
 980 |     }
 981 |
 982 |     override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent) {
     |                                                                         `- error: 'UIEvent' is unavailable in watchOS
 983 |         super.touchesCancelled(touches, with: event)
 984 |         record(touches)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
   |            `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType     type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:988:40: error: 'UITouch' is unavailable in watchOS
 986 |     }
 987 |
 988 |     private func record(_ touches: Set<UITouch>) {
     |                                        `- error: 'UITouch' is unavailable in watchOS
 989 |         guard let window = view as? UIWindow ?? view?.window else { return }
 990 |         for touch in touches {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:997:50: error: 'UIEvent' is unavailable in watchOS
 995 |     /// Only give up once every touch in this sequence has lifted. Failing while
 996 |     /// other fingers are still down would stop UIKit delivering their moves to us.
 997 |     private func failIfSequenceFinished(_ event: UIEvent) {
     |                                                  `- error: 'UIEvent' is unavailable in watchOS
 998 |         let stillActive = event.touches(for: self)?.contains {
 999 |             $0.phase != .ended && $0.phase != .cancelled
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
   |            `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType     type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:1008:49: error: 'UIGestureRecognizer' is unavailable in watchOS
1006 |     // MARK: UIGestureRecognizerDelegate — never block anything
1007 |
1008 |     func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
     |                                                 `- error: 'UIGestureRecognizer' is unavailable in watchOS
1009 |                            shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
1010 |         true
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:1009:86: error: 'UIGestureRecognizer' is unavailable in watchOS
1007 |
1008 |     func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
1009 |                            shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
     |                                                                                      `- error: 'UIGestureRecognizer' is unavailable in watchOS
1010 |         true
1011 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:1013:49: error: 'UIGestureRecognizer' is unavailable in watchOS
1011 |     }
1012 |
1013 |     func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
     |                                                 `- error: 'UIGestureRecognizer' is unavailable in watchOS
1014 |                            shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool {
1015 |         false
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:1014:77: error: 'UIGestureRecognizer' is unavailable in watchOS
1012 |
1013 |     func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
1014 |                            shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool {
     |                                                                             `- error: 'UIGestureRecognizer' is unavailable in watchOS
1015 |         false
1016 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:1018:49: error: 'UIGestureRecognizer' is unavailable in watchOS
1016 |     }
1017 |
1018 |     func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
     |                                                 `- error: 'UIGestureRecognizer' is unavailable in watchOS
1019 |                            shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool {
1020 |         false
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:1019:75: error: 'UIGestureRecognizer' is unavailable in watchOS
1017 |
1018 |     func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
1019 |                            shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool {
     |                                                                           `- error: 'UIGestureRecognizer' is unavailable in watchOS
1020 |         false
1021 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:1023:49: error: 'UIGestureRecognizer' is unavailable in watchOS
1021 |     }
1022 |
1023 |     func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive press: UIPress) -> Bool {
     |                                                 `- error: 'UIGestureRecognizer' is unavailable in watchOS
1024 |         false
1025 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:1023:91: error: 'UIPress' is unavailable in watchOS
1021 |     }
1022 |
1023 |     func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive press: UIPress) -> Bool {
     |                                                                                           `- error: 'UIPress' is unavailable in watchOS
1024 |         false
1025 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPress.h:49:74: note: 'UIPress' has been explicitly marked unavailable here
47 | } API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(watchos);
48 |
49 | UIKIT_EXTERN API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(watchos) @interface UIPress : NSObject
   |                                                                          `- note: 'UIPress' has been explicitly marked unavailable here
50 |
51 | @property (nonatomic, readonly) NSTimeInterval   timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:947:41: error: 'UIGestureRecognizer' is unavailable in watchOS
 945 | /// never recognizes, so it cannot cancel, delay, or block any other gesture or
 946 | /// touch handling in the host app.
 947 | final class SessionReplayTouchObserver: UIGestureRecognizer, UIGestureRecognizerDelegate {
     |                                         `- error: 'UIGestureRecognizer' is unavailable in watchOS
 948 |
 949 |     init() {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:947:62: error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
 945 | /// never recognizes, so it cannot cancel, delay, or block any other gesture or
 946 | /// touch handling in the host app.
 947 | final class SessionReplayTouchObserver: UIGestureRecognizer, UIGestureRecognizerDelegate {
     |                                                              `- error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
 948 |
 949 |     init() {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:91:11: note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 89 |
 90 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 91 | @protocol UIGestureRecognizerDelegate <NSObject>
    |           `- note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 92 | @optional
 93 | // called when a gesture recognizer attempts to transition out of UIGestureRecognizerStatePossible. returning NO causes it to transition to UIGestureRecognizerStateFailed
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:152:34: error: 'UIScreen' is unavailable in watchOS
 150 |                 let videoPath = config.storageDirectory
 151 |                     .appendingPathComponent("\(session.sessionId)_segment0.mp4")
 152 |                 let screenSize = UIScreen.main.bounds.size
     |                                  `- error: 'UIScreen' is unavailable in watchOS
 153 |                 let captureSize = CGSize(
 154 |                     width: screenSize.width * config.captureScale,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:152:43: error: 'main' is unavailable in watchOS
 150 |                 let videoPath = config.storageDirectory
 151 |                     .appendingPathComponent("\(session.sessionId)_segment0.mp4")
 152 |                 let screenSize = UIScreen.main.bounds.size
     |                                           `- error: 'main' is unavailable in watchOS
 153 |                 let captureSize = CGSize(
 154 |                     width: screenSize.width * config.captureScale,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:424:51: error: 'UIApplication' is unavailable in watchOS
 422 |     private func setupNotifications() {
 423 |         // App entering foreground - optionally auto-start
 424 |         NotificationCenter.default.publisher(for: UIApplication.willEnterForegroundNotification)
     |                                                   `- error: 'UIApplication' is unavailable in watchOS
 425 |             .sink { [weak self] _ in
 426 |                 guard let self = self else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:85:12: note: 'UIApplication' has been explicitly marked unavailable here
 83 |
 84 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 85 | @interface UIApplication : UIResponder
    |            `- note: 'UIApplication' has been explicitly marked unavailable here
 86 |
 87 | @property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:424:65: error: 'willEnterForegroundNotification' is unavailable in watchOS
 422 |     private func setupNotifications() {
 423 |         // App entering foreground - optionally auto-start
 424 |         NotificationCenter.default.publisher(for: UIApplication.willEnterForegroundNotification)
     |                                                                 `- error: 'willEnterForegroundNotification' is unavailable in watchOS
 425 |             .sink { [weak self] _ in
 426 |                 guard let self = self else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:571:39: note: 'willEnterForegroundNotification' has been explicitly marked unavailable here
569 | // These notifications are sent out after the equivalent delegate message is called
570 | UIKIT_EXTERN NSNotificationName const UIApplicationDidEnterBackgroundNotification       API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
571 | UIKIT_EXTERN NSNotificationName const UIApplicationWillEnterForegroundNotification      API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
    |                                       `- note: 'willEnterForegroundNotification' has been explicitly marked unavailable here
572 | UIKIT_EXTERN NSNotificationName const UIApplicationDidFinishLaunchingNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
573 | UIKIT_EXTERN NSNotificationName const UIApplicationDidBecomeActiveNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:434:51: error: 'UIApplication' is unavailable in watchOS
 432 |
 433 |         // App entering background - optionally auto-stop
 434 |         NotificationCenter.default.publisher(for: UIApplication.didEnterBackgroundNotification)
     |                                                   `- error: 'UIApplication' is unavailable in watchOS
 435 |             .sink { [weak self] _ in
 436 |                 guard let self = self else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:85:12: note: 'UIApplication' has been explicitly marked unavailable here
 83 |
 84 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 85 | @interface UIApplication : UIResponder
    |            `- note: 'UIApplication' has been explicitly marked unavailable here
 86 |
 87 | @property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:434:65: error: 'didEnterBackgroundNotification' is unavailable in watchOS
 432 |
 433 |         // App entering background - optionally auto-stop
 434 |         NotificationCenter.default.publisher(for: UIApplication.didEnterBackgroundNotification)
     |                                                                 `- error: 'didEnterBackgroundNotification' is unavailable in watchOS
 435 |             .sink { [weak self] _ in
 436 |                 guard let self = self else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:570:39: note: 'didEnterBackgroundNotification' has been explicitly marked unavailable here
568 |
569 | // These notifications are sent out after the equivalent delegate message is called
570 | UIKIT_EXTERN NSNotificationName const UIApplicationDidEnterBackgroundNotification       API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
    |                                       `- note: 'didEnterBackgroundNotification' has been explicitly marked unavailable here
571 | UIKIT_EXTERN NSNotificationName const UIApplicationWillEnterForegroundNotification      API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
572 | UIKIT_EXTERN NSNotificationName const UIApplicationDidFinishLaunchingNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:444:51: error: 'UIApplication' is unavailable in watchOS
 442 |
 443 |         // App terminating - always try to save
 444 |         NotificationCenter.default.publisher(for: UIApplication.willTerminateNotification)
     |                                                   `- error: 'UIApplication' is unavailable in watchOS
 445 |             .sink { [weak self] _ in
 446 |                 guard let self = self else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:85:12: note: 'UIApplication' has been explicitly marked unavailable here
 83 |
 84 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 85 | @interface UIApplication : UIResponder
    |            `- note: 'UIApplication' has been explicitly marked unavailable here
 86 |
 87 | @property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:444:65: error: 'willTerminateNotification' is unavailable in watchOS
 442 |
 443 |         // App terminating - always try to save
 444 |         NotificationCenter.default.publisher(for: UIApplication.willTerminateNotification)
     |                                                                 `- error: 'willTerminateNotification' is unavailable in watchOS
 445 |             .sink { [weak self] _ in
 446 |                 guard let self = self else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:576:39: note: 'willTerminateNotification' has been explicitly marked unavailable here
574 | UIKIT_EXTERN NSNotificationName const UIApplicationWillResignActiveNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
575 | UIKIT_EXTERN NSNotificationName const UIApplicationDidReceiveMemoryWarningNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
576 | UIKIT_EXTERN NSNotificationName const UIApplicationWillTerminateNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
    |                                       `- note: 'willTerminateNotification' has been explicitly marked unavailable here
577 | UIKIT_EXTERN NSNotificationName const UIApplicationSignificantTimeChangeNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
578 | UIKIT_EXTERN NSNotificationName const UIApplicationWillChangeStatusBarOrientationNotification API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_NONISOLATED; // userInfo contains NSNumber with new orientation
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:454:51: error: 'UIApplication' is unavailable in watchOS
 452 |
 453 |         // Memory warning - optionally save checkpoint
 454 |         NotificationCenter.default.publisher(for: UIApplication.didReceiveMemoryWarningNotification)
     |                                                   `- error: 'UIApplication' is unavailable in watchOS
 455 |             .sink { [weak self] _ in
 456 |                 guard let self = self else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:85:12: note: 'UIApplication' has been explicitly marked unavailable here
 83 |
 84 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 85 | @interface UIApplication : UIResponder
    |            `- note: 'UIApplication' has been explicitly marked unavailable here
 86 |
 87 | @property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:454:65: error: 'didReceiveMemoryWarningNotification' is unavailable in watchOS
 452 |
 453 |         // Memory warning - optionally save checkpoint
 454 |         NotificationCenter.default.publisher(for: UIApplication.didReceiveMemoryWarningNotification)
     |                                                                 `- error: 'didReceiveMemoryWarningNotification' is unavailable in watchOS
 455 |             .sink { [weak self] _ in
 456 |                 guard let self = self else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:575:39: note: 'didReceiveMemoryWarningNotification' has been explicitly marked unavailable here
573 | UIKIT_EXTERN NSNotificationName const UIApplicationDidBecomeActiveNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
574 | UIKIT_EXTERN NSNotificationName const UIApplicationWillResignActiveNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
575 | UIKIT_EXTERN NSNotificationName const UIApplicationDidReceiveMemoryWarningNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
    |                                       `- note: 'didReceiveMemoryWarningNotification' has been explicitly marked unavailable here
576 | UIKIT_EXTERN NSNotificationName const UIApplicationWillTerminateNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
577 | UIKIT_EXTERN NSNotificationName const UIApplicationSignificantTimeChangeNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:487:23: error: 'CADisplayLink' is unavailable in watchOS
 485 |
 486 |     private func startDisplayLink() {
 487 |         displayLink = CADisplayLink(target: self, selector: #selector(displayLinkFired))
     |                       `- error: 'CADisplayLink' is unavailable in watchOS
 488 |         displayLink?.preferredFramesPerSecond = config.captureFrameRate
 489 |         displayLink?.add(to: .main, forMode: .common)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CADisplayLink.h:21:12: note: 'CADisplayLink' has been explicitly marked unavailable here
 19 | API_AVAILABLE(macos(14.0))
 20 |
 21 | @interface CADisplayLink : NSObject
    |            `- note: 'CADisplayLink' has been explicitly marked unavailable here
 22 | {
 23 | @private
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:488:22: error: 'preferredFramesPerSecond' is unavailable in watchOS
 486 |     private func startDisplayLink() {
 487 |         displayLink = CADisplayLink(target: self, selector: #selector(displayLinkFired))
 488 |         displayLink?.preferredFramesPerSecond = config.captureFrameRate
     |                      `- error: 'preferredFramesPerSecond' is unavailable in watchOS
 489 |         displayLink?.add(to: .main, forMode: .common)
 490 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CADisplayLink.h:88:32: note: 'preferredFramesPerSecond' has been explicitly marked unavailable here
 86 |  * best-effort attempt at issuing callbacks at the requested rate. */
 87 |
 88 | @property(nonatomic) NSInteger preferredFramesPerSecond
    |                                `- note: 'preferredFramesPerSecond' has been explicitly marked unavailable here
 89 |   API_DEPRECATED_WITH_REPLACEMENT ("preferredFrameRateRange",
 90 |                                    ios(10.0, API_TO_BE_DEPRECATED),
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:577:28: error: 'UIApplication' is unavailable in watchOS
 575 |
 576 |     private func captureScreenshot() {
 577 |         guard let window = UIApplication.shared.windows.first(where: { $0.isKeyWindow }) else {
     |                            `- error: 'UIApplication' is unavailable in watchOS
 578 |             return
 579 |         }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:85:12: note: 'UIApplication' has been explicitly marked unavailable here
 83 |
 84 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 85 | @interface UIApplication : UIResponder
    |            `- note: 'UIApplication' has been explicitly marked unavailable here
 86 |
 87 | @property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:577:49: error: 'windows' is unavailable in watchOS
 575 |
 576 |     private func captureScreenshot() {
 577 |         guard let window = UIApplication.shared.windows.first(where: { $0.isKeyWindow }) else {
     |                                                 `- error: 'windows' is unavailable in watchOS
 578 |             return
 579 |         }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:109:62: note: 'windows' has been explicitly marked unavailable here
107 |
108 | @property(nullable, nonatomic,readonly) UIWindow *keyWindow API_DEPRECATED("Should not be used for applications that support multiple scenes as it returns a key window across all connected scenes", ios(2.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
109 | @property(nonatomic,readonly) NSArray<__kindof UIWindow *>  *windows API_DEPRECATED("Use UIWindowScene.windows on a relevant window scene instead", ios(2.0, 15.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
    |                                                              `- note: 'windows' has been explicitly marked unavailable here
110 |
111 | - (BOOL)sendAction:(SEL)action to:(nullable id)target from:(nullable id)sender forEvent:(nullable UIEvent *)event;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:593:24: error: 'UIGraphicsImageRenderer' is unavailable in watchOS
 591 |         }
 592 |
 593 |         let renderer = UIGraphicsImageRenderer(bounds: window.bounds)
     |                        `- error: 'UIGraphicsImageRenderer' is unavailable in watchOS
 594 |         let image = renderer.image { context in
 595 |             window.drawHierarchy(in: window.bounds, afterScreenUpdates: false)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsImageRenderer.h:47:12: note: 'UIGraphicsImageRenderer' has been explicitly marked unavailable here
45 |
46 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos)
47 | @interface UIGraphicsImageRenderer : UIGraphicsRenderer
   |            `- note: 'UIGraphicsImageRenderer' has been explicitly marked unavailable here
48 | - (instancetype)initWithSize:(CGSize)size;
49 | - (instancetype)initWithSize:(CGSize)size format:(UIGraphicsImageRendererFormat *)format NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:607:16: warning: value 'count' was defined but never used; consider replacing with boolean test [#NoUsage]
 605 |         }
 606 |
 607 |         if let count = currentSession?.frameCount {
     |                `- warning: value 'count' was defined but never used; consider replacing with boolean test [#NoUsage]
 608 |             currentSession?.frameCount! += 1
 609 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:676:37: error: 'UITextField' is unavailable in watchOS
 674 |     /// `.unmaskedContent()` from revealing a view that would otherwise be masked.
 675 |     func isNeverUnmaskable(_ view: UIView) -> Bool {
 676 |         if let textField = view as? UITextField, textField.isSecureTextEntry {
     |                                     `- error: 'UITextField' is unavailable in watchOS
 677 |             return true
 678 |         }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:699:41: error: 'UITextField' is unavailable in watchOS
 697 |         // Auto-mask secure text fields (password fields)
 698 |         if config.autoMaskSecureTextFields {
 699 |             if let textField = view as? UITextField, textField.isSecureTextEntry {
     |                                         `- error: 'UITextField' is unavailable in watchOS
 700 |                 return true
 701 |             }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:706:24: error: 'UITextField' is unavailable in watchOS
 704 |         // Auto-mask regular text fields
 705 |         if config.autoMaskTextFields {
 706 |             if view is UITextField || view is UITextView {
     |                        `- error: 'UITextField' is unavailable in watchOS
 707 |                 return true
 708 |             }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:706:47: error: 'UITextView' is unavailable in watchOS
 704 |         // Auto-mask regular text fields
 705 |         if config.autoMaskTextFields {
 706 |             if view is UITextField || view is UITextView {
     |                                               `- error: 'UITextView' is unavailable in watchOS
 707 |                 return true
 708 |             }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:223:12: note: 'UITextView' has been explicitly marked unavailable here
221 |
222 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
223 | @interface UITextView : UIScrollView <UITextInput, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting, NSTextViewportLayoutControllerDelegate>
    |            `- note: 'UITextView' has been explicitly marked unavailable here
224 |
225 | @property(nullable,nonatomic,weak) id<UITextViewDelegate> delegate;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:754:33: error: 'UILabel' is unavailable in watchOS
 752 |         hasher.combine(view.isHidden)
 753 |         hasher.combine(view.alpha)
 754 |         if let label = view as? UILabel {
     |                                 `- error: 'UILabel' is unavailable in watchOS
 755 |             hasher.combine(label.text)
 756 |         }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILabel.h:33:12: note: 'UILabel' has been explicitly marked unavailable here
 31 |
 32 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 33 | @interface UILabel : UIView <NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UILabel' has been explicitly marked unavailable here
 34 |
 35 | @property(nullable, nonatomic,copy)   NSString           *text; // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:798:28: error: 'UIGraphicsImageRenderer' is unavailable in watchOS
 796 |                 height: image.size.height * config.captureScale
 797 |             )
 798 |             let renderer = UIGraphicsImageRenderer(size: newSize)
     |                            `- error: 'UIGraphicsImageRenderer' is unavailable in watchOS
 799 |             scaledImage = renderer.image { _ in
 800 |                 image.draw(in: CGRect(origin: .zero, size: newSize))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsImageRenderer.h:47:12: note: 'UIGraphicsImageRenderer' has been explicitly marked unavailable here
45 |
46 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos)
47 | @interface UIGraphicsImageRenderer : UIGraphicsRenderer
   |            `- note: 'UIGraphicsImageRenderer' has been explicitly marked unavailable here
48 | - (instancetype)initWithSize:(CGSize)size;
49 | - (instancetype)initWithSize:(CGSize)size format:(UIGraphicsImageRendererFormat *)format NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:819:24: error: 'UIDevice' is unavailable in watchOS
 817 |             appVersion: Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "",
 818 |             buildNumber: Bundle.main.infoDictionary?["CFBundleVersion"] as? String ?? "",
 819 |             osVersion: UIDevice.current.systemVersion,
     |                        `- error: 'UIDevice' is unavailable in watchOS
 820 |             deviceModel: getDeviceModel(),
 821 |             deviceId: UIDevice.current.identifierForVendor?.uuidString,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:35:12: note: 'UIDevice' has been explicitly marked unavailable here
33 |
34 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
35 | @interface UIDevice : NSObject
   |            `- note: 'UIDevice' has been explicitly marked unavailable here
36 |
37 | @property(class, nonatomic, readonly) UIDevice *currentDevice;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:821:23: error: 'UIDevice' is unavailable in watchOS
 819 |             osVersion: UIDevice.current.systemVersion,
 820 |             deviceModel: getDeviceModel(),
 821 |             deviceId: UIDevice.current.identifierForVendor?.uuidString,
     |                       `- error: 'UIDevice' is unavailable in watchOS
 822 |             locale: Locale.current.identifier,
 823 |             timezone: TimeZone.current.identifier,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:35:12: note: 'UIDevice' has been explicitly marked unavailable here
33 |
34 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
35 | @interface UIDevice : NSObject
   |            `- note: 'UIDevice' has been explicitly marked unavailable here
36 |
37 | @property(class, nonatomic, readonly) UIDevice *currentDevice;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:903:33: error: 'UIWindow' is unavailable in watchOS
 901 |             // windows, additional scenes.
 902 |             touchWindowSubscription = NotificationCenter.default
 903 |                 .publisher(for: UIWindow.didBecomeVisibleNotification)
     |                                 `- error: 'UIWindow' is unavailable in watchOS
 904 |                 .compactMap { $0.object as? UIWindow }
 905 |                 .sink { [weak self] window in
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SessionReplayManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:903:42: error: 'didBecomeVisibleNotification' is unavailable in watchOS
 901 |             // windows, additional scenes.
 902 |             touchWindowSubscription = NotificationCenter.default
 903 |                 .publisher(for: UIWindow.didBecomeVisibleNotification)
     |                                          `- error: 'didBecomeVisibleNotification' is unavailable in watchOS
 904 |                 .compactMap { $0.object as? UIWindow }
 905 |                 .sink { [weak self] window in
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:111:39: note: 'didBecomeVisibleNotification' has been explicitly marked unavailable here
109 |
110 | // Posted when the window becomes visible with a nil userInfo dictionary.
111 | UIKIT_EXTERN NSNotificationName const UIWindowDidBecomeVisibleNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
    |                                       `- note: 'didBecomeVisibleNotification' has been explicitly marked unavailable here
112 |
113 | // Posted when the window becomes hidden with a nil userInfo dictionary.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:904:45: error: 'UIWindow' is unavailable in watchOS
 902 |             touchWindowSubscription = NotificationCenter.default
 903 |                 .publisher(for: UIWindow.didBecomeVisibleNotification)
 904 |                 .compactMap { $0.object as? UIWindow }
     |                                             `- error: 'UIWindow' is unavailable in watchOS
 905 |                 .sink { [weak self] window in
 906 |                     self?.attachTouchObserver(to: window)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:931:9: error: 'UIApplication' is unavailable in watchOS
 929 |
 930 |     private func currentApplicationWindows() -> [UIWindow] {
 931 |         UIApplication.shared.connectedScenes
     |         `- error: 'UIApplication' is unavailable in watchOS
 932 |             .compactMap { $0 as? UIWindowScene }
 933 |             .flatMap { $0.windows }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:85:12: note: 'UIApplication' has been explicitly marked unavailable here
 83 |
 84 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 85 | @interface UIApplication : UIResponder
    |            `- note: 'UIApplication' has been explicitly marked unavailable here
 86 |
 87 | @property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:931:30: error: 'connectedScenes' is unavailable in watchOS
 929 |
 930 |     private func currentApplicationWindows() -> [UIWindow] {
 931 |         UIApplication.shared.connectedScenes
     |                              `- error: 'connectedScenes' is unavailable in watchOS
 932 |             .compactMap { $0 as? UIWindowScene }
 933 |             .flatMap { $0.windows }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:189:50: note: 'connectedScenes' has been explicitly marked unavailable here
187 | #pragma mark -- UIScene --
188 | // All of the currently connected UIScene instances
189 | @property(nonatomic, readonly) NSSet<UIScene *> *connectedScenes API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
    |                                                  `- note: 'connectedScenes' has been explicitly marked unavailable here
190 |
191 | // All of the representations that currently have connected UIScene instances or had their sessions persisted by the system (ex: visible in iOS' switcher)
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:932:34: error: 'UIWindowScene' is unavailable in watchOS
 930 |     private func currentApplicationWindows() -> [UIWindow] {
 931 |         UIApplication.shared.connectedScenes
 932 |             .compactMap { $0 as? UIWindowScene }
     |                                  `- error: 'UIWindowScene' is unavailable in watchOS
 933 |             .flatMap { $0.windows }
 934 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowScene.h:22:12: note: 'UIWindowScene' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindowScene : UIScene
    |            `- note: 'UIWindowScene' has been explicitly marked unavailable here
 23 |
 24 | #pragma mark Geometry
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:954:9: error: 'requiresExclusiveTouchType' is unavailable in watchOS
 952 |         delaysTouchesBegan = false
 953 |         delaysTouchesEnded = false
 954 |         requiresExclusiveTouchType = false
     |         `- error: 'requiresExclusiveTouchType' is unavailable in watchOS
 955 |         allowedTouchTypes = [
 956 |             UITouch.TouchType.direct,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:67:28: note: 'requiresExclusiveTouchType' has been explicitly marked unavailable here
 65 | // If NO, it receives all touches that match its allowedTouchTypes.
 66 | // If YES, once it receives a touch of a certain type, it will ignore new touches of other types, until it is reset to UIGestureRecognizerStatePossible.
 67 | @property (nonatomic) BOOL requiresExclusiveTouchType API_AVAILABLE(ios(9.2)) API_UNAVAILABLE(watchos); // defaults to YES
    |                            `- note: 'requiresExclusiveTouchType' has been explicitly marked unavailable here
 68 |
 69 | // create a relationship with another gesture recognizer that will prevent this gesture's actions from being called until otherGestureRecognizer transitions to UIGestureRecognizerStateFailed
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:956:13: error: 'UITouch' is unavailable in watchOS
 954 |         requiresExclusiveTouchType = false
 955 |         allowedTouchTypes = [
 956 |             UITouch.TouchType.direct,
     |             `- error: 'UITouch' is unavailable in watchOS
 957 |             .indirect,
 958 |             .pencil,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:959:14: error: 'indirectPointer' is unavailable in watchOS
 957 |             .indirect,
 958 |             .pencil,
 959 |             .indirectPointer
     |              `- error: 'indirectPointer' is unavailable in watchOS
 960 |         ].map { NSNumber(value: $0.rawValue) }
 961 |         delegate = self
UIKit.UITouch.TouchType.indirectPointer:4:10: note: 'indirectPointer' has been explicitly marked unavailable here
2 |   enum TouchType {
3 | @available(watchOS, unavailable)
4 |     case indirectPointer  }
  |          `- note: 'indirectPointer' has been explicitly marked unavailable here
5 | }
6 |
SwiftCompile normal arm64 Compiling\ SessionReplayManager.swift /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:45:30: error: 'CADisplayLink' is unavailable in watchOS
  43 |     // MARK: - Private Properties
  44 |
  45 |     private var displayLink: CADisplayLink?
     |                              `- error: 'CADisplayLink' is unavailable in watchOS
  46 |     private var lastCaptureTime: CFTimeInterval = 0
  47 |     private var frameBuffer: [UIImage] = []
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CADisplayLink.h:21:12: note: 'CADisplayLink' has been explicitly marked unavailable here
 19 | API_AVAILABLE(macos(14.0))
 20 |
 21 | @interface CADisplayLink : NSObject
    |            `- note: 'CADisplayLink' has been explicitly marked unavailable here
 22 | {
 23 | @private
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:301:43: error: 'UITouch' is unavailable in watchOS
 299 |
 300 |     /// Record a touch event
 301 |     public func recordTouchEvent(_ touch: UITouch, in window: UIWindow) {
     |                                           `- error: 'UITouch' is unavailable in watchOS
 302 |         guard isRecording, config.captureTouches else { return }
 303 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:301:63: error: 'UIWindow' is unavailable in watchOS
 299 |
 300 |     /// Record a touch event
 301 |     public func recordTouchEvent(_ touch: UITouch, in window: UIWindow) {
     |                                                               `- error: 'UIWindow' is unavailable in watchOS
 302 |         guard isRecording, config.captureTouches else { return }
 303 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:566:49: error: 'CADisplayLink' is unavailable in watchOS
 564 |     }
 565 |
 566 |     @objc private func displayLinkFired(_ link: CADisplayLink) {
     |                                                 `- error: 'CADisplayLink' is unavailable in watchOS
 567 |         guard isRecording else { return }
 568 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CADisplayLink.h:21:12: note: 'CADisplayLink' has been explicitly marked unavailable here
 19 | API_AVAILABLE(macos(14.0))
 20 |
 21 | @interface CADisplayLink : NSObject
    |            `- note: 'CADisplayLink' has been explicitly marked unavailable here
 22 | {
 23 | @private
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:616:46: error: 'UIView' is unavailable in watchOS
 614 |
 615 |     /// Collect frames of all sensitive views that should be masked
 616 |     func collectSensitiveViewFrames(in view: UIView) -> [CGRect] {
     |                                              `- error: 'UIView' is unavailable in watchOS
 617 |         // Pass 1: frames explicitly exempted from auto-masking (markAsUnmasked / unmaskedContent)
 618 |         var unmasked: [CGRect] = []
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:627:57: error: 'UIView' is unavailable in watchOS
 625 |     }
 626 |
 627 |     private func collectUnmaskedFramesRecursive(_ view: UIView, rootView: UIView, frames: inout [CGRect]) {
     |                                                         `- error: 'UIView' is unavailable in watchOS
 628 |         if view.isUnmasked {
 629 |             frames.append(view.convert(view.bounds, to: rootView))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:627:75: error: 'UIView' is unavailable in watchOS
 625 |     }
 626 |
 627 |     private func collectUnmaskedFramesRecursive(_ view: UIView, rootView: UIView, frames: inout [CGRect]) {
     |                                                                           `- error: 'UIView' is unavailable in watchOS
 628 |         if view.isUnmasked {
 629 |             frames.append(view.convert(view.bounds, to: rootView))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:636:58: error: 'UIView' is unavailable in watchOS
 634 |     }
 635 |
 636 |     private func collectSensitiveFramesRecursive(_ view: UIView, rootView: UIView, unmasked: [CGRect], frames: inout [CGRect]) {
     |                                                          `- error: 'UIView' is unavailable in watchOS
 637 |         let frameInRoot = view.convert(view.bounds, to: rootView)
 638 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:636:76: error: 'UIView' is unavailable in watchOS
 634 |     }
 635 |
 636 |     private func collectSensitiveFramesRecursive(_ view: UIView, rootView: UIView, unmasked: [CGRect], frames: inout [CGRect]) {
     |                                                                            `- error: 'UIView' is unavailable in watchOS
 637 |         let frameInRoot = view.convert(view.bounds, to: rootView)
 638 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:675:36: error: 'UIView' is unavailable in watchOS
 673 |     /// is still honoured: this only prevents `markAsUnmasked()` /
 674 |     /// `.unmaskedContent()` from revealing a view that would otherwise be masked.
 675 |     func isNeverUnmaskable(_ view: UIView) -> Bool {
     |                                    `- error: 'UIView' is unavailable in watchOS
 676 |         if let textField = view as? UITextField, textField.isSecureTextEntry {
 677 |             return true
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:682:40: error: 'UIView' is unavailable in watchOS
 680 |     }
 681 |
 682 |     func isExplicitlySensitive(_ view: UIView) -> Bool {
     |                                        `- error: 'UIView' is unavailable in watchOS
 683 |         // Check manual sensitive marking
 684 |         if view.isSensitive {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:696:31: error: 'UIView' is unavailable in watchOS
 694 |     }
 695 |
 696 |     func isAutoMasked(_ view: UIView) -> Bool {
     |                               `- error: 'UIView' is unavailable in watchOS
 697 |         // Auto-mask secure text fields (password fields)
 698 |         if config.autoMaskSecureTextFields {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:741:46: error: 'UIView' is unavailable in watchOS
 739 |     }
 740 |
 741 |     private func computeViewTreeHash(_ view: UIView) -> Int {
     |                                              `- error: 'UIView' is unavailable in watchOS
 742 |         var hasher = Hasher()
 743 |         computeViewHash(view, into: &hasher)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:747:42: error: 'UIView' is unavailable in watchOS
 745 |     }
 746 |
 747 |     private func computeViewHash(_ view: UIView, into hasher: inout Hasher) {
     |                                          `- error: 'UIView' is unavailable in watchOS
 748 |         hasher.combine(view.frame.origin.x)
 749 |         hasher.combine(view.frame.origin.y)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:876:43: error: 'UIWindow' is unavailable in watchOS
 874 | /// Windows we attached an observer to, so stopTouchCapture() can remove them
 875 | /// even from windows that are no longer listed by any scene (e.g. keyboard windows).
 876 | private let observedWindows = NSHashTable<UIWindow>.weakObjects()
     |                                           `- error: 'UIWindow' is unavailable in watchOS
 877 |
 878 | extension SessionReplayManager {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:930:50: error: 'UIWindow' is unavailable in watchOS
 928 |     }
 929 |
 930 |     private func currentApplicationWindows() -> [UIWindow] {
     |                                                  `- error: 'UIWindow' is unavailable in watchOS
 931 |         UIApplication.shared.connectedScenes
 932 |             .compactMap { $0 as? UIWindowScene }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:936:49: error: 'UIWindow' is unavailable in watchOS
 934 |     }
 935 |
 936 |     private func attachTouchObserver(to window: UIWindow) {
     |                                                 `- error: 'UIWindow' is unavailable in watchOS
 937 |         let alreadyAttached = window.gestureRecognizers?.contains { $0 is SessionReplayTouchObserver } ?? false
 938 |         guard !alreadyAttached else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:966:47: error: 'UITouch' is unavailable in watchOS
 964 |     // MARK: Touch observation
 965 |
 966 |     override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
     |                                               `- error: 'UITouch' is unavailable in watchOS
 967 |         super.touchesBegan(touches, with: event)
 968 |         record(touches)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:966:69: error: 'UIEvent' is unavailable in watchOS
 964 |     // MARK: Touch observation
 965 |
 966 |     override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
     |                                                                     `- error: 'UIEvent' is unavailable in watchOS
 967 |         super.touchesBegan(touches, with: event)
 968 |         record(touches)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
   |            `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType     type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:971:47: error: 'UITouch' is unavailable in watchOS
 969 |     }
 970 |
 971 |     override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
     |                                               `- error: 'UITouch' is unavailable in watchOS
 972 |         super.touchesMoved(touches, with: event)
 973 |         record(touches)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:971:69: error: 'UIEvent' is unavailable in watchOS
 969 |     }
 970 |
 971 |     override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
     |                                                                     `- error: 'UIEvent' is unavailable in watchOS
 972 |         super.touchesMoved(touches, with: event)
 973 |         record(touches)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
   |            `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType     type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:976:47: error: 'UITouch' is unavailable in watchOS
 974 |     }
 975 |
 976 |     override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent) {
     |                                               `- error: 'UITouch' is unavailable in watchOS
 977 |         super.touchesEnded(touches, with: event)
 978 |         record(touches)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:976:69: error: 'UIEvent' is unavailable in watchOS
 974 |     }
 975 |
 976 |     override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent) {
     |                                                                     `- error: 'UIEvent' is unavailable in watchOS
 977 |         super.touchesEnded(touches, with: event)
 978 |         record(touches)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
   |            `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType     type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:982:51: error: 'UITouch' is unavailable in watchOS
 980 |     }
 981 |
 982 |     override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent) {
     |                                                   `- error: 'UITouch' is unavailable in watchOS
 983 |         super.touchesCancelled(touches, with: event)
 984 |         record(touches)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:982:73: error: 'UIEvent' is unavailable in watchOS
 980 |     }
 981 |
 982 |     override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent) {
     |                                                                         `- error: 'UIEvent' is unavailable in watchOS
 983 |         super.touchesCancelled(touches, with: event)
 984 |         record(touches)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
   |            `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType     type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:988:40: error: 'UITouch' is unavailable in watchOS
 986 |     }
 987 |
 988 |     private func record(_ touches: Set<UITouch>) {
     |                                        `- error: 'UITouch' is unavailable in watchOS
 989 |         guard let window = view as? UIWindow ?? view?.window else { return }
 990 |         for touch in touches {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:997:50: error: 'UIEvent' is unavailable in watchOS
 995 |     /// Only give up once every touch in this sequence has lifted. Failing while
 996 |     /// other fingers are still down would stop UIKit delivering their moves to us.
 997 |     private func failIfSequenceFinished(_ event: UIEvent) {
     |                                                  `- error: 'UIEvent' is unavailable in watchOS
 998 |         let stillActive = event.touches(for: self)?.contains {
 999 |             $0.phase != .ended && $0.phase != .cancelled
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIEvent.h:62:12: note: 'UIEvent' has been explicitly marked unavailable here
60 |
61 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
62 | @interface UIEvent : NSObject
   |            `- note: 'UIEvent' has been explicitly marked unavailable here
63 |
64 | @property(nonatomic,readonly) UIEventType     type API_AVAILABLE(ios(3.0));
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:1008:49: error: 'UIGestureRecognizer' is unavailable in watchOS
1006 |     // MARK: UIGestureRecognizerDelegate — never block anything
1007 |
1008 |     func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
     |                                                 `- error: 'UIGestureRecognizer' is unavailable in watchOS
1009 |                            shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
1010 |         true
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:1009:86: error: 'UIGestureRecognizer' is unavailable in watchOS
1007 |
1008 |     func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
1009 |                            shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
     |                                                                                      `- error: 'UIGestureRecognizer' is unavailable in watchOS
1010 |         true
1011 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:1013:49: error: 'UIGestureRecognizer' is unavailable in watchOS
1011 |     }
1012 |
1013 |     func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
     |                                                 `- error: 'UIGestureRecognizer' is unavailable in watchOS
1014 |                            shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool {
1015 |         false
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:1014:77: error: 'UIGestureRecognizer' is unavailable in watchOS
1012 |
1013 |     func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
1014 |                            shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool {
     |                                                                             `- error: 'UIGestureRecognizer' is unavailable in watchOS
1015 |         false
1016 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:1018:49: error: 'UIGestureRecognizer' is unavailable in watchOS
1016 |     }
1017 |
1018 |     func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
     |                                                 `- error: 'UIGestureRecognizer' is unavailable in watchOS
1019 |                            shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool {
1020 |         false
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:1019:75: error: 'UIGestureRecognizer' is unavailable in watchOS
1017 |
1018 |     func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
1019 |                            shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool {
     |                                                                           `- error: 'UIGestureRecognizer' is unavailable in watchOS
1020 |         false
1021 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:1023:49: error: 'UIGestureRecognizer' is unavailable in watchOS
1021 |     }
1022 |
1023 |     func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive press: UIPress) -> Bool {
     |                                                 `- error: 'UIGestureRecognizer' is unavailable in watchOS
1024 |         false
1025 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:1023:91: error: 'UIPress' is unavailable in watchOS
1021 |     }
1022 |
1023 |     func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive press: UIPress) -> Bool {
     |                                                                                           `- error: 'UIPress' is unavailable in watchOS
1024 |         false
1025 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPress.h:49:74: note: 'UIPress' has been explicitly marked unavailable here
47 | } API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(watchos);
48 |
49 | UIKIT_EXTERN API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(watchos) @interface UIPress : NSObject
   |                                                                          `- note: 'UIPress' has been explicitly marked unavailable here
50 |
51 | @property (nonatomic, readonly) NSTimeInterval   timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:947:41: error: 'UIGestureRecognizer' is unavailable in watchOS
 945 | /// never recognizes, so it cannot cancel, delay, or block any other gesture or
 946 | /// touch handling in the host app.
 947 | final class SessionReplayTouchObserver: UIGestureRecognizer, UIGestureRecognizerDelegate {
     |                                         `- error: 'UIGestureRecognizer' is unavailable in watchOS
 948 |
 949 |     init() {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:35:12: note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 33 |
 34 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 35 | @interface UIGestureRecognizer : NSObject
    |            `- note: 'UIGestureRecognizer' has been explicitly marked unavailable here
 36 |
 37 | // Valid action method signatures:
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:947:62: error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
 945 | /// never recognizes, so it cannot cancel, delay, or block any other gesture or
 946 | /// touch handling in the host app.
 947 | final class SessionReplayTouchObserver: UIGestureRecognizer, UIGestureRecognizerDelegate {
     |                                                              `- error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
 948 |
 949 |     init() {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:91:11: note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 89 |
 90 | API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 91 | @protocol UIGestureRecognizerDelegate <NSObject>
    |           `- note: 'UIGestureRecognizerDelegate' has been explicitly marked unavailable here
 92 | @optional
 93 | // called when a gesture recognizer attempts to transition out of UIGestureRecognizerStatePossible. returning NO causes it to transition to UIGestureRecognizerStateFailed
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:152:34: error: 'UIScreen' is unavailable in watchOS
 150 |                 let videoPath = config.storageDirectory
 151 |                     .appendingPathComponent("\(session.sessionId)_segment0.mp4")
 152 |                 let screenSize = UIScreen.main.bounds.size
     |                                  `- error: 'UIScreen' is unavailable in watchOS
 153 |                 let captureSize = CGSize(
 154 |                     width: screenSize.width * config.captureScale,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:54:12: note: 'UIScreen' has been explicitly marked unavailable here
 52 |
 53 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_UI_ACTOR
 54 | @interface UIScreen : NSObject <UITraitEnvironment>
    |            `- note: 'UIScreen' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:152:43: error: 'main' is unavailable in watchOS
 150 |                 let videoPath = config.storageDirectory
 151 |                     .appendingPathComponent("\(session.sessionId)_segment0.mp4")
 152 |                 let screenSize = UIScreen.main.bounds.size
     |                                           `- error: 'main' is unavailable in watchOS
 153 |                 let captureSize = CGSize(
 154 |                     width: screenSize.width * config.captureScale,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScreen.h:57:49: note: 'main' has been explicitly marked unavailable here
 55 |
 56 | @property(class, nonatomic, readonly) NSArray<UIScreen *> *screens API_DEPRECATED("Use UIApplication.shared.openSessions to find open sessions with scenes from other screens", ios(3.2, 16.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos); // all screens currently attached to the device
 57 | @property(class, nonatomic, readonly) UIScreen *mainScreen API_DEPRECATED("Use a UIScreen instance found through context instead (i.e, view.window.windowScene.screen), or for properties like UIScreen.scale with trait equivalents, use a traitCollection found through context.", ios(2.0, 26.0), tvos(9.0, 26.0), visionos(1.0, 26.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'main' has been explicitly marked unavailable here
 58 |
 59 | @property(nonatomic,readonly) CGRect  bounds;                // Bounds of entire screen in points
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:424:51: error: 'UIApplication' is unavailable in watchOS
 422 |     private func setupNotifications() {
 423 |         // App entering foreground - optionally auto-start
 424 |         NotificationCenter.default.publisher(for: UIApplication.willEnterForegroundNotification)
     |                                                   `- error: 'UIApplication' is unavailable in watchOS
 425 |             .sink { [weak self] _ in
 426 |                 guard let self = self else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:85:12: note: 'UIApplication' has been explicitly marked unavailable here
 83 |
 84 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 85 | @interface UIApplication : UIResponder
    |            `- note: 'UIApplication' has been explicitly marked unavailable here
 86 |
 87 | @property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:424:65: error: 'willEnterForegroundNotification' is unavailable in watchOS
 422 |     private func setupNotifications() {
 423 |         // App entering foreground - optionally auto-start
 424 |         NotificationCenter.default.publisher(for: UIApplication.willEnterForegroundNotification)
     |                                                                 `- error: 'willEnterForegroundNotification' is unavailable in watchOS
 425 |             .sink { [weak self] _ in
 426 |                 guard let self = self else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:571:39: note: 'willEnterForegroundNotification' has been explicitly marked unavailable here
569 | // These notifications are sent out after the equivalent delegate message is called
570 | UIKIT_EXTERN NSNotificationName const UIApplicationDidEnterBackgroundNotification       API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
571 | UIKIT_EXTERN NSNotificationName const UIApplicationWillEnterForegroundNotification      API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
    |                                       `- note: 'willEnterForegroundNotification' has been explicitly marked unavailable here
572 | UIKIT_EXTERN NSNotificationName const UIApplicationDidFinishLaunchingNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
573 | UIKIT_EXTERN NSNotificationName const UIApplicationDidBecomeActiveNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:434:51: error: 'UIApplication' is unavailable in watchOS
 432 |
 433 |         // App entering background - optionally auto-stop
 434 |         NotificationCenter.default.publisher(for: UIApplication.didEnterBackgroundNotification)
     |                                                   `- error: 'UIApplication' is unavailable in watchOS
 435 |             .sink { [weak self] _ in
 436 |                 guard let self = self else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:85:12: note: 'UIApplication' has been explicitly marked unavailable here
 83 |
 84 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 85 | @interface UIApplication : UIResponder
    |            `- note: 'UIApplication' has been explicitly marked unavailable here
 86 |
 87 | @property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:434:65: error: 'didEnterBackgroundNotification' is unavailable in watchOS
 432 |
 433 |         // App entering background - optionally auto-stop
 434 |         NotificationCenter.default.publisher(for: UIApplication.didEnterBackgroundNotification)
     |                                                                 `- error: 'didEnterBackgroundNotification' is unavailable in watchOS
 435 |             .sink { [weak self] _ in
 436 |                 guard let self = self else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:570:39: note: 'didEnterBackgroundNotification' has been explicitly marked unavailable here
568 |
569 | // These notifications are sent out after the equivalent delegate message is called
570 | UIKIT_EXTERN NSNotificationName const UIApplicationDidEnterBackgroundNotification       API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
    |                                       `- note: 'didEnterBackgroundNotification' has been explicitly marked unavailable here
571 | UIKIT_EXTERN NSNotificationName const UIApplicationWillEnterForegroundNotification      API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
572 | UIKIT_EXTERN NSNotificationName const UIApplicationDidFinishLaunchingNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:444:51: error: 'UIApplication' is unavailable in watchOS
 442 |
 443 |         // App terminating - always try to save
 444 |         NotificationCenter.default.publisher(for: UIApplication.willTerminateNotification)
     |                                                   `- error: 'UIApplication' is unavailable in watchOS
 445 |             .sink { [weak self] _ in
 446 |                 guard let self = self else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:85:12: note: 'UIApplication' has been explicitly marked unavailable here
 83 |
 84 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 85 | @interface UIApplication : UIResponder
    |            `- note: 'UIApplication' has been explicitly marked unavailable here
 86 |
 87 | @property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:444:65: error: 'willTerminateNotification' is unavailable in watchOS
 442 |
 443 |         // App terminating - always try to save
 444 |         NotificationCenter.default.publisher(for: UIApplication.willTerminateNotification)
     |                                                                 `- error: 'willTerminateNotification' is unavailable in watchOS
 445 |             .sink { [weak self] _ in
 446 |                 guard let self = self else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:576:39: note: 'willTerminateNotification' has been explicitly marked unavailable here
574 | UIKIT_EXTERN NSNotificationName const UIApplicationWillResignActiveNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
575 | UIKIT_EXTERN NSNotificationName const UIApplicationDidReceiveMemoryWarningNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
576 | UIKIT_EXTERN NSNotificationName const UIApplicationWillTerminateNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
    |                                       `- note: 'willTerminateNotification' has been explicitly marked unavailable here
577 | UIKIT_EXTERN NSNotificationName const UIApplicationSignificantTimeChangeNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
578 | UIKIT_EXTERN NSNotificationName const UIApplicationWillChangeStatusBarOrientationNotification API_DEPRECATED("Use viewWillTransitionToSize:withTransitionCoordinator: instead.", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(visionos, watchos) NS_SWIFT_NONISOLATED; // userInfo contains NSNumber with new orientation
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:454:51: error: 'UIApplication' is unavailable in watchOS
 452 |
 453 |         // Memory warning - optionally save checkpoint
 454 |         NotificationCenter.default.publisher(for: UIApplication.didReceiveMemoryWarningNotification)
     |                                                   `- error: 'UIApplication' is unavailable in watchOS
 455 |             .sink { [weak self] _ in
 456 |                 guard let self = self else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:85:12: note: 'UIApplication' has been explicitly marked unavailable here
 83 |
 84 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 85 | @interface UIApplication : UIResponder
    |            `- note: 'UIApplication' has been explicitly marked unavailable here
 86 |
 87 | @property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:454:65: error: 'didReceiveMemoryWarningNotification' is unavailable in watchOS
 452 |
 453 |         // Memory warning - optionally save checkpoint
 454 |         NotificationCenter.default.publisher(for: UIApplication.didReceiveMemoryWarningNotification)
     |                                                                 `- error: 'didReceiveMemoryWarningNotification' is unavailable in watchOS
 455 |             .sink { [weak self] _ in
 456 |                 guard let self = self else { return }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:575:39: note: 'didReceiveMemoryWarningNotification' has been explicitly marked unavailable here
573 | UIKIT_EXTERN NSNotificationName const UIApplicationDidBecomeActiveNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
574 | UIKIT_EXTERN NSNotificationName const UIApplicationWillResignActiveNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
575 | UIKIT_EXTERN NSNotificationName const UIApplicationDidReceiveMemoryWarningNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
    |                                       `- note: 'didReceiveMemoryWarningNotification' has been explicitly marked unavailable here
576 | UIKIT_EXTERN NSNotificationName const UIApplicationWillTerminateNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
577 | UIKIT_EXTERN NSNotificationName const UIApplicationSignificantTimeChangeNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:487:23: error: 'CADisplayLink' is unavailable in watchOS
 485 |
 486 |     private func startDisplayLink() {
 487 |         displayLink = CADisplayLink(target: self, selector: #selector(displayLinkFired))
     |                       `- error: 'CADisplayLink' is unavailable in watchOS
 488 |         displayLink?.preferredFramesPerSecond = config.captureFrameRate
 489 |         displayLink?.add(to: .main, forMode: .common)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CADisplayLink.h:21:12: note: 'CADisplayLink' has been explicitly marked unavailable here
 19 | API_AVAILABLE(macos(14.0))
 20 |
 21 | @interface CADisplayLink : NSObject
    |            `- note: 'CADisplayLink' has been explicitly marked unavailable here
 22 | {
 23 | @private
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:488:22: error: 'preferredFramesPerSecond' is unavailable in watchOS
 486 |     private func startDisplayLink() {
 487 |         displayLink = CADisplayLink(target: self, selector: #selector(displayLinkFired))
 488 |         displayLink?.preferredFramesPerSecond = config.captureFrameRate
     |                      `- error: 'preferredFramesPerSecond' is unavailable in watchOS
 489 |         displayLink?.add(to: .main, forMode: .common)
 490 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CADisplayLink.h:88:32: note: 'preferredFramesPerSecond' has been explicitly marked unavailable here
 86 |  * best-effort attempt at issuing callbacks at the requested rate. */
 87 |
 88 | @property(nonatomic) NSInteger preferredFramesPerSecond
    |                                `- note: 'preferredFramesPerSecond' has been explicitly marked unavailable here
 89 |   API_DEPRECATED_WITH_REPLACEMENT ("preferredFrameRateRange",
 90 |                                    ios(10.0, API_TO_BE_DEPRECATED),
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:577:28: error: 'UIApplication' is unavailable in watchOS
 575 |
 576 |     private func captureScreenshot() {
 577 |         guard let window = UIApplication.shared.windows.first(where: { $0.isKeyWindow }) else {
     |                            `- error: 'UIApplication' is unavailable in watchOS
 578 |             return
 579 |         }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:85:12: note: 'UIApplication' has been explicitly marked unavailable here
 83 |
 84 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 85 | @interface UIApplication : UIResponder
    |            `- note: 'UIApplication' has been explicitly marked unavailable here
 86 |
 87 | @property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:577:49: error: 'windows' is unavailable in watchOS
 575 |
 576 |     private func captureScreenshot() {
 577 |         guard let window = UIApplication.shared.windows.first(where: { $0.isKeyWindow }) else {
     |                                                 `- error: 'windows' is unavailable in watchOS
 578 |             return
 579 |         }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:109:62: note: 'windows' has been explicitly marked unavailable here
107 |
108 | @property(nullable, nonatomic,readonly) UIWindow *keyWindow API_DEPRECATED("Should not be used for applications that support multiple scenes as it returns a key window across all connected scenes", ios(2.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
109 | @property(nonatomic,readonly) NSArray<__kindof UIWindow *>  *windows API_DEPRECATED("Use UIWindowScene.windows on a relevant window scene instead", ios(2.0, 15.0), visionos(1.0, 1.0)) API_UNAVAILABLE(watchos);
    |                                                              `- note: 'windows' has been explicitly marked unavailable here
110 |
111 | - (BOOL)sendAction:(SEL)action to:(nullable id)target from:(nullable id)sender forEvent:(nullable UIEvent *)event;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:593:24: error: 'UIGraphicsImageRenderer' is unavailable in watchOS
 591 |         }
 592 |
 593 |         let renderer = UIGraphicsImageRenderer(bounds: window.bounds)
     |                        `- error: 'UIGraphicsImageRenderer' is unavailable in watchOS
 594 |         let image = renderer.image { context in
 595 |             window.drawHierarchy(in: window.bounds, afterScreenUpdates: false)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsImageRenderer.h:47:12: note: 'UIGraphicsImageRenderer' has been explicitly marked unavailable here
45 |
46 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos)
47 | @interface UIGraphicsImageRenderer : UIGraphicsRenderer
   |            `- note: 'UIGraphicsImageRenderer' has been explicitly marked unavailable here
48 | - (instancetype)initWithSize:(CGSize)size;
49 | - (instancetype)initWithSize:(CGSize)size format:(UIGraphicsImageRendererFormat *)format NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:607:16: warning: value 'count' was defined but never used; consider replacing with boolean test [#NoUsage]
 605 |         }
 606 |
 607 |         if let count = currentSession?.frameCount {
     |                `- warning: value 'count' was defined but never used; consider replacing with boolean test [#NoUsage]
 608 |             currentSession?.frameCount! += 1
 609 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:676:37: error: 'UITextField' is unavailable in watchOS
 674 |     /// `.unmaskedContent()` from revealing a view that would otherwise be masked.
 675 |     func isNeverUnmaskable(_ view: UIView) -> Bool {
 676 |         if let textField = view as? UITextField, textField.isSecureTextEntry {
     |                                     `- error: 'UITextField' is unavailable in watchOS
 677 |             return true
 678 |         }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:699:41: error: 'UITextField' is unavailable in watchOS
 697 |         // Auto-mask secure text fields (password fields)
 698 |         if config.autoMaskSecureTextFields {
 699 |             if let textField = view as? UITextField, textField.isSecureTextEntry {
     |                                         `- error: 'UITextField' is unavailable in watchOS
 700 |                 return true
 701 |             }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:706:24: error: 'UITextField' is unavailable in watchOS
 704 |         // Auto-mask regular text fields
 705 |         if config.autoMaskTextFields {
 706 |             if view is UITextField || view is UITextView {
     |                        `- error: 'UITextField' is unavailable in watchOS
 707 |                 return true
 708 |             }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextField.h:53:12: note: 'UITextField' has been explicitly marked unavailable here
 51 |
 52 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 53 | @interface UITextField : UIControl <UITextInput, NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UITextField' has been explicitly marked unavailable here
 54 |
 55 | @property(nullable, nonatomic,copy)   NSString               *text;                 // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:706:47: error: 'UITextView' is unavailable in watchOS
 704 |         // Auto-mask regular text fields
 705 |         if config.autoMaskTextFields {
 706 |             if view is UITextField || view is UITextView {
     |                                               `- error: 'UITextView' is unavailable in watchOS
 707 |                 return true
 708 |             }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITextView.h:223:12: note: 'UITextView' has been explicitly marked unavailable here
221 |
222 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
223 | @interface UITextView : UIScrollView <UITextInput, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting, NSTextViewportLayoutControllerDelegate>
    |            `- note: 'UITextView' has been explicitly marked unavailable here
224 |
225 | @property(nullable,nonatomic,weak) id<UITextViewDelegate> delegate;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:754:33: error: 'UILabel' is unavailable in watchOS
 752 |         hasher.combine(view.isHidden)
 753 |         hasher.combine(view.alpha)
 754 |         if let label = view as? UILabel {
     |                                 `- error: 'UILabel' is unavailable in watchOS
 755 |             hasher.combine(label.text)
 756 |         }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILabel.h:33:12: note: 'UILabel' has been explicitly marked unavailable here
 31 |
 32 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 33 | @interface UILabel : UIView <NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UILabel' has been explicitly marked unavailable here
 34 |
 35 | @property(nullable, nonatomic,copy)   NSString           *text; // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:798:28: error: 'UIGraphicsImageRenderer' is unavailable in watchOS
 796 |                 height: image.size.height * config.captureScale
 797 |             )
 798 |             let renderer = UIGraphicsImageRenderer(size: newSize)
     |                            `- error: 'UIGraphicsImageRenderer' is unavailable in watchOS
 799 |             scaledImage = renderer.image { _ in
 800 |                 image.draw(in: CGRect(origin: .zero, size: newSize))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsImageRenderer.h:47:12: note: 'UIGraphicsImageRenderer' has been explicitly marked unavailable here
45 |
46 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos)
47 | @interface UIGraphicsImageRenderer : UIGraphicsRenderer
   |            `- note: 'UIGraphicsImageRenderer' has been explicitly marked unavailable here
48 | - (instancetype)initWithSize:(CGSize)size;
49 | - (instancetype)initWithSize:(CGSize)size format:(UIGraphicsImageRendererFormat *)format NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:819:24: error: 'UIDevice' is unavailable in watchOS
 817 |             appVersion: Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "",
 818 |             buildNumber: Bundle.main.infoDictionary?["CFBundleVersion"] as? String ?? "",
 819 |             osVersion: UIDevice.current.systemVersion,
     |                        `- error: 'UIDevice' is unavailable in watchOS
 820 |             deviceModel: getDeviceModel(),
 821 |             deviceId: UIDevice.current.identifierForVendor?.uuidString,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:35:12: note: 'UIDevice' has been explicitly marked unavailable here
33 |
34 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
35 | @interface UIDevice : NSObject
   |            `- note: 'UIDevice' has been explicitly marked unavailable here
36 |
37 | @property(class, nonatomic, readonly) UIDevice *currentDevice;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:821:23: error: 'UIDevice' is unavailable in watchOS
 819 |             osVersion: UIDevice.current.systemVersion,
 820 |             deviceModel: getDeviceModel(),
 821 |             deviceId: UIDevice.current.identifierForVendor?.uuidString,
     |                       `- error: 'UIDevice' is unavailable in watchOS
 822 |             locale: Locale.current.identifier,
 823 |             timezone: TimeZone.current.identifier,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:35:12: note: 'UIDevice' has been explicitly marked unavailable here
33 |
34 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
35 | @interface UIDevice : NSObject
   |            `- note: 'UIDevice' has been explicitly marked unavailable here
36 |
37 | @property(class, nonatomic, readonly) UIDevice *currentDevice;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:903:33: error: 'UIWindow' is unavailable in watchOS
 901 |             // windows, additional scenes.
 902 |             touchWindowSubscription = NotificationCenter.default
 903 |                 .publisher(for: UIWindow.didBecomeVisibleNotification)
     |                                 `- error: 'UIWindow' is unavailable in watchOS
 904 |                 .compactMap { $0.object as? UIWindow }
 905 |                 .sink { [weak self] window in
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:903:42: error: 'didBecomeVisibleNotification' is unavailable in watchOS
 901 |             // windows, additional scenes.
 902 |             touchWindowSubscription = NotificationCenter.default
 903 |                 .publisher(for: UIWindow.didBecomeVisibleNotification)
     |                                          `- error: 'didBecomeVisibleNotification' is unavailable in watchOS
 904 |                 .compactMap { $0.object as? UIWindow }
 905 |                 .sink { [weak self] window in
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:111:39: note: 'didBecomeVisibleNotification' has been explicitly marked unavailable here
109 |
110 | // Posted when the window becomes visible with a nil userInfo dictionary.
111 | UIKIT_EXTERN NSNotificationName const UIWindowDidBecomeVisibleNotification API_UNAVAILABLE(watchos) NS_SWIFT_NONISOLATED;
    |                                       `- note: 'didBecomeVisibleNotification' has been explicitly marked unavailable here
112 |
113 | // Posted when the window becomes hidden with a nil userInfo dictionary.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:904:45: error: 'UIWindow' is unavailable in watchOS
 902 |             touchWindowSubscription = NotificationCenter.default
 903 |                 .publisher(for: UIWindow.didBecomeVisibleNotification)
 904 |                 .compactMap { $0.object as? UIWindow }
     |                                             `- error: 'UIWindow' is unavailable in watchOS
 905 |                 .sink { [weak self] window in
 906 |                     self?.attachTouchObserver(to: window)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:931:9: error: 'UIApplication' is unavailable in watchOS
 929 |
 930 |     private func currentApplicationWindows() -> [UIWindow] {
 931 |         UIApplication.shared.connectedScenes
     |         `- error: 'UIApplication' is unavailable in watchOS
 932 |             .compactMap { $0 as? UIWindowScene }
 933 |             .flatMap { $0.windows }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:85:12: note: 'UIApplication' has been explicitly marked unavailable here
 83 |
 84 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 85 | @interface UIApplication : UIResponder
    |            `- note: 'UIApplication' has been explicitly marked unavailable here
 86 |
 87 | @property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:931:30: error: 'connectedScenes' is unavailable in watchOS
 929 |
 930 |     private func currentApplicationWindows() -> [UIWindow] {
 931 |         UIApplication.shared.connectedScenes
     |                              `- error: 'connectedScenes' is unavailable in watchOS
 932 |             .compactMap { $0 as? UIWindowScene }
 933 |             .flatMap { $0.windows }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:189:50: note: 'connectedScenes' has been explicitly marked unavailable here
187 | #pragma mark -- UIScene --
188 | // All of the currently connected UIScene instances
189 | @property(nonatomic, readonly) NSSet<UIScene *> *connectedScenes API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos);
    |                                                  `- note: 'connectedScenes' has been explicitly marked unavailable here
190 |
191 | // All of the representations that currently have connected UIScene instances or had their sessions persisted by the system (ex: visible in iOS' switcher)
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:932:34: error: 'UIWindowScene' is unavailable in watchOS
 930 |     private func currentApplicationWindows() -> [UIWindow] {
 931 |         UIApplication.shared.connectedScenes
 932 |             .compactMap { $0 as? UIWindowScene }
     |                                  `- error: 'UIWindowScene' is unavailable in watchOS
 933 |             .flatMap { $0.windows }
 934 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindowScene.h:22:12: note: 'UIWindowScene' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindowScene : UIScene
    |            `- note: 'UIWindowScene' has been explicitly marked unavailable here
 23 |
 24 | #pragma mark Geometry
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:954:9: error: 'requiresExclusiveTouchType' is unavailable in watchOS
 952 |         delaysTouchesBegan = false
 953 |         delaysTouchesEnded = false
 954 |         requiresExclusiveTouchType = false
     |         `- error: 'requiresExclusiveTouchType' is unavailable in watchOS
 955 |         allowedTouchTypes = [
 956 |             UITouch.TouchType.direct,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGestureRecognizer.h:67:28: note: 'requiresExclusiveTouchType' has been explicitly marked unavailable here
 65 | // If NO, it receives all touches that match its allowedTouchTypes.
 66 | // If YES, once it receives a touch of a certain type, it will ignore new touches of other types, until it is reset to UIGestureRecognizerStatePossible.
 67 | @property (nonatomic) BOOL requiresExclusiveTouchType API_AVAILABLE(ios(9.2)) API_UNAVAILABLE(watchos); // defaults to YES
    |                            `- note: 'requiresExclusiveTouchType' has been explicitly marked unavailable here
 68 |
 69 | // create a relationship with another gesture recognizer that will prevent this gesture's actions from being called until otherGestureRecognizer transitions to UIGestureRecognizerStateFailed
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:956:13: error: 'UITouch' is unavailable in watchOS
 954 |         requiresExclusiveTouchType = false
 955 |         allowedTouchTypes = [
 956 |             UITouch.TouchType.direct,
     |             `- error: 'UITouch' is unavailable in watchOS
 957 |             .indirect,
 958 |             .pencil,
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:959:14: error: 'indirectPointer' is unavailable in watchOS
 957 |             .indirect,
 958 |             .pencil,
 959 |             .indirectPointer
     |              `- error: 'indirectPointer' is unavailable in watchOS
 960 |         ].map { NSNumber(value: $0.rawValue) }
 961 |         delegate = self
UIKit.UITouch.TouchType.indirectPointer:4:10: note: 'indirectPointer' has been explicitly marked unavailable here
2 |   enum TouchType {
3 | @available(watchOS, unavailable)
4 |     case indirectPointer  }
  |          `- note: 'indirectPointer' has been explicitly marked unavailable here
5 | }
6 |
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SessionReplayManager.swift
SwiftCompile normal arm64_32 Compiling\ SessionLogger.swift /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Logging/SessionLogger.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Logging/SessionLogger.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SessionLogger.swift
SwiftCompile normal arm64_32 Compiling\ SessionReplaySDK.swift /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/SessionReplaySDK.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/SessionReplaySDK.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SessionReplaySDK.swift
SwiftCompile normal arm64 Compiling\ SessionReplaySDK.swift /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/SessionReplaySDK.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/SessionReplaySDK.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SessionReplaySDK.swift
SwiftCompile normal arm64 Compiling\ UIKitIntegration.swift /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:22:41: error: 'UIViewController' is unavailable in watchOS
 20 |
 21 | /// Base view controller that automatically tracks screen views
 22 | open class SessionReplayViewController: UIViewController {
    |                                         `- error: 'UIViewController' is unavailable in watchOS
 23 |
 24 |     /// Override to provide a custom screen name (defaults to class name)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:43:26: error: 'UIView' is unavailable in watchOS
 41 |
 42 | /// A view that is automatically masked in session replays
 43 | public class MaskedView: UIView, SessionReplayMaskable {
    |                          `- error: 'UIView' is unavailable in watchOS
 44 |     public var shouldMaskInReplay: Bool = true
 45 |     public var maskColor: UIColor = .gray
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:54:18: error: 'UIView' is unavailable in watchOS
 52 | // MARK: - UIView Extensions
 53 |
 54 | public extension UIView {
    |                  `- error: 'UIView' is unavailable in watchOS
 55 |
 56 |     /// Mark this view as containing sensitive data
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:101:32: error: 'UIViewController' is unavailable in watchOS
 99 |
100 |     /// Get the currently visible view controller
101 |     var visibleViewController: UIViewController? {
    |                                `- error: 'UIViewController' is unavailable in watchOS
102 |         return getVisibleViewController(from: rootViewController)
103 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:105:52: error: 'UIViewController' is unavailable in watchOS
103 |     }
104 |
105 |     private func getVisibleViewController(from vc: UIViewController?) -> UIViewController? {
    |                                                    `- error: 'UIViewController' is unavailable in watchOS
106 |         if let nav = vc as? UINavigationController {
107 |             return getVisibleViewController(from: nav.visibleViewController)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:105:74: error: 'UIViewController' is unavailable in watchOS
103 |     }
104 |
105 |     private func getVisibleViewController(from vc: UIViewController?) -> UIViewController? {
    |                                                                          `- error: 'UIViewController' is unavailable in watchOS
106 |         if let nav = vc as? UINavigationController {
107 |             return getVisibleViewController(from: nav.visibleViewController)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:98:18: error: 'UIWindow' is unavailable in watchOS
 96 | // MARK: - UIWindow Extensions
 97 |
 98 | public extension UIWindow {
    |                  `- error: 'UIWindow' is unavailable in watchOS
 99 |
100 |     /// Get the currently visible view controller
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIWindow.h:22:12: note: 'UIWindow' has been explicitly marked unavailable here
 20 |
 21 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 22 | @interface UIWindow : UIView
    |            `- note: 'UIWindow' has been explicitly marked unavailable here
 23 |
 24 | // instantiate a UIWindow already associated with a given UIWindowScene instance, with matching frame & interface orientations.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:124:35: error: 'UITouch' is unavailable in watchOS
122 | public class TouchVisualizationView: UIView {
123 |
124 |     private var touchIndicators: [UITouch: UIView] = [:]
    |                                   `- error: 'UITouch' is unavailable in watchOS
125 |
126 |     public override init(frame: CGRect) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:124:44: error: 'UIView' is unavailable in watchOS
122 | public class TouchVisualizationView: UIView {
123 |
124 |     private var touchIndicators: [UITouch: UIView] = [:]
    |                                            `- error: 'UIView' is unavailable in watchOS
125 |
126 |     public override init(frame: CGRect) {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:141:46: error: 'UITouch' is unavailable in watchOS
139 |     }
140 |
141 |     public func updateTouches(_ touches: Set<UITouch>) {
    |                                              `- error: 'UITouch' is unavailable in watchOS
142 |         for touch in touches {
143 |             switch touch.phase {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:156:42: error: 'UITouch' is unavailable in watchOS
154 |     }
155 |
156 |     private func addIndicator(for touch: UITouch) {
    |                                          `- error: 'UITouch' is unavailable in watchOS
157 |         let indicator = createIndicatorView()
158 |         indicator.center = touch.location(in: self)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:168:43: error: 'UITouch' is unavailable in watchOS
166 |     }
167 |
168 |     private func moveIndicator(for touch: UITouch) {
    |                                           `- error: 'UITouch' is unavailable in watchOS
169 |         guard let indicator = touchIndicators[touch] else { return }
170 |         indicator.center = touch.location(in: self)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:173:45: error: 'UITouch' is unavailable in watchOS
171 |     }
172 |
173 |     private func removeIndicator(for touch: UITouch) {
    |                                             `- error: 'UITouch' is unavailable in watchOS
174 |         guard let indicator = touchIndicators[touch] else { return }
175 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITouch.h:51:12: note: 'UITouch' has been explicitly marked unavailable here
 49 |
 50 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 51 | @interface UITouch : NSObject
    |            `- note: 'UITouch' has been explicitly marked unavailable here
 52 |
 53 | @property(nonatomic,readonly) NSTimeInterval      timestamp;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:186:43: error: 'UIView' is unavailable in watchOS
184 |     }
185 |
186 |     private func createIndicatorView() -> UIView {
    |                                           `- error: 'UIView' is unavailable in watchOS
187 |         let size: CGFloat = 44
188 |         let view = UIView(frame: CGRect(x: 0, y: 0, width: size, height: size))
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:122:38: error: 'UIView' is unavailable in watchOS
120 |
121 | /// View that displays touch indicators
122 | public class TouchVisualizationView: UIView {
    |                                      `- error: 'UIView' is unavailable in watchOS
123 |
124 |     private var touchIndicators: [UITouch: UIView] = [:]
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:202:31: error: 'UILabel' is unavailable in watchOS
200 | public class SessionReplayDebugViewController: UIViewController {
201 |
202 |     private let statusLabel = UILabel()
    |                               `- error: 'UILabel' is unavailable in watchOS
203 |     private let frameCountLabel = UILabel()
204 |     private let touchCountLabel = UILabel()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILabel.h:33:12: note: 'UILabel' has been explicitly marked unavailable here
 31 |
 32 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 33 | @interface UILabel : UIView <NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UILabel' has been explicitly marked unavailable here
 34 |
 35 | @property(nullable, nonatomic,copy)   NSString           *text; // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:202:31: error: 'init()' is unavailable in watchOS
200 | public class SessionReplayDebugViewController: UIViewController {
201 |
202 |     private let statusLabel = UILabel()
    |                               `- error: 'init()' is unavailable in watchOS
203 |     private let frameCountLabel = UILabel()
204 |     private let touchCountLabel = UILabel()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:203:35: error: 'UILabel' is unavailable in watchOS
201 |
202 |     private let statusLabel = UILabel()
203 |     private let frameCountLabel = UILabel()
    |                                   `- error: 'UILabel' is unavailable in watchOS
204 |     private let touchCountLabel = UILabel()
205 |     private let startStopButton = UIButton(type: .system)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILabel.h:33:12: note: 'UILabel' has been explicitly marked unavailable here
 31 |
 32 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 33 | @interface UILabel : UIView <NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UILabel' has been explicitly marked unavailable here
 34 |
 35 | @property(nullable, nonatomic,copy)   NSString           *text; // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:203:35: error: 'init()' is unavailable in watchOS
201 |
202 |     private let statusLabel = UILabel()
203 |     private let frameCountLabel = UILabel()
    |                                   `- error: 'init()' is unavailable in watchOS
204 |     private let touchCountLabel = UILabel()
205 |     private let startStopButton = UIButton(type: .system)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:204:35: error: 'UILabel' is unavailable in watchOS
202 |     private let statusLabel = UILabel()
203 |     private let frameCountLabel = UILabel()
204 |     private let touchCountLabel = UILabel()
    |                                   `- error: 'UILabel' is unavailable in watchOS
205 |     private let startStopButton = UIButton(type: .system)
206 |     private let viewSessionsButton = UIButton(type: .system)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UILabel.h:33:12: note: 'UILabel' has been explicitly marked unavailable here
 31 |
 32 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 33 | @interface UILabel : UIView <NSCoding, UIContentSizeCategoryAdjusting, UILetterformAwareAdjusting>
    |            `- note: 'UILabel' has been explicitly marked unavailable here
 34 |
 35 | @property(nullable, nonatomic,copy)   NSString           *text; // default is nil
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:204:35: error: 'init()' is unavailable in watchOS
202 |     private let statusLabel = UILabel()
203 |     private let frameCountLabel = UILabel()
204 |     private let touchCountLabel = UILabel()
    |                                   `- error: 'init()' is unavailable in watchOS
205 |     private let startStopButton = UIButton(type: .system)
206 |     private let viewSessionsButton = UIButton(type: .system)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:205:35: error: 'UIButton' is unavailable in watchOS
203 |     private let frameCountLabel = UILabel()
204 |     private let touchCountLabel = UILabel()
205 |     private let startStopButton = UIButton(type: .system)
    |                                   `- error: 'UIButton' is unavailable in watchOS
206 |     private let viewSessionsButton = UIButton(type: .system)
207 |     private let uploadButton = UIButton(type: .system)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h:49:12: note: 'UIButton' has been explicitly marked unavailable here
 47 |
 48 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 49 | @interface UIButton : UIControl <NSCoding>
    |            `- note: 'UIButton' has been explicitly marked unavailable here
 50 |
 51 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:206:38: error: 'UIButton' is unavailable in watchOS
204 |     private let touchCountLabel = UILabel()
205 |     private let startStopButton = UIButton(type: .system)
206 |     private let viewSessionsButton = UIButton(type: .system)
    |                                      `- error: 'UIButton' is unavailable in watchOS
207 |     private let uploadButton = UIButton(type: .system)
208 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h:49:12: note: 'UIButton' has been explicitly marked unavailable here
 47 |
 48 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 49 | @interface UIButton : UIControl <NSCoding>
    |            `- note: 'UIButton' has been explicitly marked unavailable here
 50 |
 51 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:207:32: error: 'UIButton' is unavailable in watchOS
205 |     private let startStopButton = UIButton(type: .system)
206 |     private let viewSessionsButton = UIButton(type: .system)
207 |     private let uploadButton = UIButton(type: .system)
    |                                `- error: 'UIButton' is unavailable in watchOS
208 |
209 |     private var updateTimer: Timer?
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIButton.h:49:12: note: 'UIButton' has been explicitly marked unavailable here
 47 |
 48 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 49 | @interface UIButton : UIControl <NSCoding>
    |            `- note: 'UIButton' has been explicitly marked unavailable here
 50 |
 51 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:200:48: error: 'UIViewController' is unavailable in watchOS
198 |
199 | /// Debug view controller for testing session replay
200 | public class SessionReplayDebugViewController: UIViewController {
    |                                                `- error: 'UIViewController' is unavailable in watchOS
201 |
202 |     private let statusLabel = UILabel()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIViewController.h:104:12: note: 'UIViewController' has been explicitly marked unavailable here
102 |
103 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
104 | @interface UIViewController : UIResponder <NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment>
    |            `- note: 'UIViewController' has been explicitly marked unavailable here
105 |
106 | /*
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:89:24: error: 'UIGraphicsImageRenderer' is unavailable in watchOS
 87 |     /// Capture a snapshot of this view
 88 |     func captureSnapshot(afterScreenUpdates: Bool = false) -> UIImage {
 89 |         let renderer = UIGraphicsImageRenderer(bounds: bounds)
    |                        `- error: 'UIGraphicsImageRenderer' is unavailable in watchOS
 90 |         return renderer.image { _ in
 91 |             drawHierarchy(in: bounds, afterScreenUpdates: afterScreenUpdates)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIGraphicsImageRenderer.h:47:12: note: 'UIGraphicsImageRenderer' has been explicitly marked unavailable here
45 |
46 | UIKIT_EXTERN API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(watchos)
47 | @interface UIGraphicsImageRenderer : UIGraphicsRenderer
   |            `- note: 'UIGraphicsImageRenderer' has been explicitly marked unavailable here
48 | - (instancetype)initWithSize:(CGSize)size;
49 | - (instancetype)initWithSize:(CGSize)size format:(UIGraphicsImageRendererFormat *)format NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:106:29: error: 'UINavigationController' is unavailable in watchOS
104 |
105 |     private func getVisibleViewController(from vc: UIViewController?) -> UIViewController? {
106 |         if let nav = vc as? UINavigationController {
    |                             `- error: 'UINavigationController' is unavailable in watchOS
107 |             return getVisibleViewController(from: nav.visibleViewController)
108 |         }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UINavigationController.h:46:12: note: 'UINavigationController' has been explicitly marked unavailable here
 44 |
 45 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 46 | @interface UINavigationController : UIViewController
    |            `- note: 'UINavigationController' has been explicitly marked unavailable here
 47 |
 48 |
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:109:29: error: 'UITabBarController' is unavailable in watchOS
107 |             return getVisibleViewController(from: nav.visibleViewController)
108 |         }
109 |         if let tab = vc as? UITabBarController {
    |                             `- error: 'UITabBarController' is unavailable in watchOS
110 |             return getVisibleViewController(from: tab.selectedViewController)
111 |         }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITabBarController.h:64:12: note: 'UITabBarController' has been explicitly marked unavailable here
 62 |
 63 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 64 | @interface UITabBarController : UIViewController <UITabBarDelegate, NSCoding>
    |            `- note: 'UITabBarController' has been explicitly marked unavailable here
 65 |
 66 | /// The object managing the delegate of the tab bar controller.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:163:9: error: 'UIView' is unavailable in watchOS
161 |
162 |         indicator.transform = CGAffineTransform(scaleX: 0.5, y: 0.5)
163 |         UIView.animate(withDuration: 0.15) {
    |         `- error: 'UIView' is unavailable in watchOS
164 |             indicator.transform = .identity
165 |         }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:176:9: error: 'UIView' is unavailable in watchOS
174 |         guard let indicator = touchIndicators[touch] else { return }
175 |
176 |         UIView.animate(withDuration: 0.2, animations: {
    |         `- error: 'UIView' is unavailable in watchOS
177 |             indicator.transform = CGAffineTransform(scaleX: 1.5, y: 1.5)
178 |             indicator.alpha = 0
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:188:20: error: 'UIView' is unavailable in watchOS
186 |     private func createIndicatorView() -> UIView {
187 |         let size: CGFloat = 44
188 |         let view = UIView(frame: CGRect(x: 0, y: 0, width: size, height: size))
    |                    `- error: 'UIView' is unavailable in watchOS
189 |         view.backgroundColor = UIColor.red.withAlphaComponent(0.3)
190 |         view.layer.cornerRadius = size / 2
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:223:33: error: 'systemBackground' is unavailable in watchOS
221 |
222 |     private func setupUI() {
223 |         view.backgroundColor = .systemBackground
    |                                 `- error: 'systemBackground' is unavailable in watchOS
224 |         title = "Session Replay Debug"
225 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:208:49: note: 'systemBackground' has been explicitly marked unavailable here
206 |  *    primary background in light mode.
207 |  */
208 | @property (class, nonatomic, readonly) UIColor *systemBackgroundColor                   API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
    |                                                 `- note: 'systemBackground' has been explicitly marked unavailable here
209 | @property (class, nonatomic, readonly) UIColor *secondarySystemBackgroundColor          API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
210 | @property (class, nonatomic, readonly) UIColor *tertiarySystemBackgroundColor           API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:226:21: error: 'UIStackView' is unavailable in watchOS
224 |         title = "Session Replay Debug"
225 |
226 |         let stack = UIStackView()
    |                     `- error: 'UIStackView' is unavailable in watchOS
227 |         stack.axis = .vertical
228 |         stack.spacing = 16
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIStackView.h:124:12: note: 'UIStackView' has been explicitly marked unavailable here
122 | NS_HEADER_AUDIT_BEGIN(nullability, sendability)
123 | UIKIT_EXTERN API_AVAILABLE(ios(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
124 | @interface UIStackView : UIView
    |            `- note: 'UIStackView' has been explicitly marked unavailable here
125 |
126 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:226:21: error: 'init()' is unavailable in watchOS
224 |         title = "Session Replay Debug"
225 |
226 |         let stack = UIStackView()
    |                     `- error: 'init()' is unavailable in watchOS
227 |         stack.axis = .vertical
228 |         stack.spacing = 16
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:233:9: error: 'NSLayoutConstraint' is unavailable in watchOS
231 |         view.addSubview(stack)
232 |
233 |         NSLayoutConstraint.activate([
    |         `- error: 'NSLayoutConstraint' is unavailable in watchOS
234 |             stack.centerXAnchor.constraint(equalTo: view.centerXAnchor),
235 |             stack.centerYAnchor.constraint(equalTo: view.centerYAnchor),
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutConstraint.h:126:12: note: 'NSLayoutConstraint' has been explicitly marked unavailable here
124 |
125 | NSLAYOUTCONSTRAINT_EXTERN API_AVAILABLE(macos(10.7), ios(6.0), tvos(9.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
126 | @interface NSLayoutConstraint : NSObject
    |            `- note: 'NSLayoutConstraint' has been explicitly marked unavailable here
127 |
128 | /* Create an array of constraints using an ASCII-art-like visual format string.  The values of the `metrics` dictionary should be NSNumber (or some other type that responds to -doubleValue and returns a double).
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:247:38: error: 'secondaryLabel' is unavailable in watchOS
245 |         // Frame count
246 |         frameCountLabel.font = .monospacedDigitSystemFont(ofSize: 18, weight: .regular)
247 |         frameCountLabel.textColor = .secondaryLabel
    |                                      `- error: 'secondaryLabel' is unavailable in watchOS
248 |         stack.addArrangedSubview(frameCountLabel)
249 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:172:49: note: 'secondaryLabel' has been explicitly marked unavailable here
170 |  */
171 | @property (class, nonatomic, readonly) UIColor *labelColor              API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
172 | @property (class, nonatomic, readonly) UIColor *secondaryLabelColor     API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'secondaryLabel' has been explicitly marked unavailable here
173 | @property (class, nonatomic, readonly) UIColor *tertiaryLabelColor      API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
174 | @property (class, nonatomic, readonly) UIColor *quaternaryLabelColor    API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:252:38: error: 'secondaryLabel' is unavailable in watchOS
250 |         // Touch count
251 |         touchCountLabel.font = .monospacedDigitSystemFont(ofSize: 18, weight: .regular)
252 |         touchCountLabel.textColor = .secondaryLabel
    |                                      `- error: 'secondaryLabel' is unavailable in watchOS
253 |         stack.addArrangedSubview(touchCountLabel)
254 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:172:49: note: 'secondaryLabel' has been explicitly marked unavailable here
170 |  */
171 | @property (class, nonatomic, readonly) UIColor *labelColor              API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
172 | @property (class, nonatomic, readonly) UIColor *secondaryLabelColor     API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'secondaryLabel' has been explicitly marked unavailable here
173 | @property (class, nonatomic, readonly) UIColor *tertiaryLabelColor      API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
174 | @property (class, nonatomic, readonly) UIColor *quaternaryLabelColor    API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:256:22: error: 'UIView' is unavailable in watchOS
254 |
255 |         // Spacer
256 |         let spacer = UIView()
    |                      `- error: 'UIView' is unavailable in watchOS
257 |         spacer.heightAnchor.constraint(equalToConstant: 20).isActive = true
258 |         stack.addArrangedSubview(spacer)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:152:12: note: 'UIView' has been explicitly marked unavailable here
150 |
151 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
152 | @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, UIFocusItemContainer, CALayerDelegate>
    |            `- note: 'UIView' has been explicitly marked unavailable here
153 |
154 | @property(class, nonatomic, readonly) Class layerClass;                        // default is [CALayer class]. Used when creating the underlying layer for the view.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:256:22: error: 'init()' is unavailable in watchOS
254 |
255 |         // Spacer
256 |         let spacer = UIView()
    |                      `- error: 'init()' is unavailable in watchOS
257 |         spacer.heightAnchor.constraint(equalToConstant: 20).isActive = true
258 |         stack.addArrangedSubview(spacer)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIView.h:158:1: note: 'init()' has been explicitly marked unavailable here
156 | - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
157 | - (nullable instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
158 | - (instancetype)init API_AVAILABLE(ios(2.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos);
    | `- note: 'init()' has been explicitly marked unavailable here
159 |
160 | @property(nonatomic,getter=isUserInteractionEnabled) BOOL userInteractionEnabled;  // default is YES. if set to NO, user events (touch, keys) are ignored and removed from the event queue.
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:291:48: error: 'systemRed' is unavailable in watchOS
289 |
290 |         statusLabel.text = isRecording ? "🔴 Recording" : "⚪ Stopped"
291 |         statusLabel.textColor = isRecording ? .systemRed : .label
    |                                                `- error: 'systemRed' is unavailable in watchOS
292 |
293 |         let frameCount = manager.currentSession?.frameCount ?? 0
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:121:49: note: 'systemRed' has been explicitly marked unavailable here
119 |  * Do not make assumptions about the color spaces or actual colors used.
120 |  */
121 | @property (class, nonatomic, readonly) UIColor *systemRedColor          API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'systemRed' has been explicitly marked unavailable here
122 | @property (class, nonatomic, readonly) UIColor *systemGreenColor        API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
123 | @property (class, nonatomic, readonly) UIColor *systemBlueColor         API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:291:61: error: 'label' is unavailable in watchOS
289 |
290 |         statusLabel.text = isRecording ? "🔴 Recording" : "⚪ Stopped"
291 |         statusLabel.textColor = isRecording ? .systemRed : .label
    |                                                             `- error: 'label' is unavailable in watchOS
292 |
293 |         let frameCount = manager.currentSession?.frameCount ?? 0
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:171:49: note: 'label' has been explicitly marked unavailable here
169 | /* Foreground colors for static text and related elements.
170 |  */
171 | @property (class, nonatomic, readonly) UIColor *labelColor              API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'label' has been explicitly marked unavailable here
172 | @property (class, nonatomic, readonly) UIColor *secondaryLabelColor     API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
173 | @property (class, nonatomic, readonly) UIColor *tertiaryLabelColor      API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile UIKitIntegration.swift
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:300:52: error: 'systemRed' is unavailable in watchOS
298 |
299 |         startStopButton.setTitle(isRecording ? "Stop Recording" : "Start Recording", for: .normal)
300 |         startStopButton.tintColor = isRecording ? .systemRed : .systemGreen
    |                                                    `- error: 'systemRed' is unavailable in watchOS
301 |
302 |         uploadButton.isEnabled = SessionUploader.shared.isConfigured
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:121:49: note: 'systemRed' has been explicitly marked unavailable here
119 |  * Do not make assumptions about the color spaces or actual colors used.
120 |  */
121 | @property (class, nonatomic, readonly) UIColor *systemRedColor          API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'systemRed' has been explicitly marked unavailable here
122 | @property (class, nonatomic, readonly) UIColor *systemGreenColor        API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
123 | @property (class, nonatomic, readonly) UIColor *systemBlueColor         API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:300:65: error: 'systemGreen' is unavailable in watchOS
298 |
299 |         startStopButton.setTitle(isRecording ? "Stop Recording" : "Start Recording", for: .normal)
300 |         startStopButton.tintColor = isRecording ? .systemRed : .systemGreen
    |                                                                 `- error: 'systemGreen' is unavailable in watchOS
301 |
302 |         uploadButton.isEnabled = SessionUploader.shared.isConfigured
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIInterface.h:122:49: note: 'systemGreen' has been explicitly marked unavailable here
120 |  */
121 | @property (class, nonatomic, readonly) UIColor *systemRedColor          API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
122 | @property (class, nonatomic, readonly) UIColor *systemGreenColor        API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
    |                                                 `- note: 'systemGreen' has been explicitly marked unavailable here
123 | @property (class, nonatomic, readonly) UIColor *systemBlueColor         API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
124 | @property (class, nonatomic, readonly) UIColor *systemOrangeColor       API_AVAILABLE(ios(7.0), tvos(9.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:319:21: error: 'UIAlertController' is unavailable in watchOS
317 |         let sessions = SessionReplayManager.shared.getSavedSessions()
318 |
319 |         let alert = UIAlertController(
    |                     `- error: 'UIAlertController' is unavailable in watchOS
320 |             title: "Recorded Sessions",
321 |             message: "Found \(sessions.count) session(s)",
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertController.h:43:12: note: 'UIAlertController' has been explicitly marked unavailable here
41 |
42 | UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
43 | @interface UIAlertController : UIViewController
   |            `- note: 'UIAlertController' has been explicitly marked unavailable here
44 |
45 | + (instancetype)alertControllerWithTitle:(nullable NSString *)title message:(nullable NSString *)message preferredStyle:(UIAlertControllerStyle)preferredStyle;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:331:29: error: 'UIAlertAction' is unavailable in watchOS
329 |
330 |             let title = "\(dateFormatter.string(from: session.startTime)) (\(session.frameCount) frames)"
331 |             alert.addAction(UIAlertAction(title: title, style: .default) { [weak self] _ in
    |                             `- error: 'UIAlertAction' is unavailable in watchOS
332 |                 self?.playSession(session)
333 |             })
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertController.h:32:12: note: 'UIAlertAction' has been explicitly marked unavailable here
30 |
31 | UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
32 | @interface UIAlertAction : NSObject <NSCopying>
   |            `- note: 'UIAlertAction' has been explicitly marked unavailable here
33 |
34 | + (instancetype)actionWithTitle:(nullable NSString *)title style:(UIAlertActionStyle)style handler:(void (^ __nullable)(UIAlertAction *action))handler;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:336:25: error: 'UIAlertAction' is unavailable in watchOS
334 |         }
335 |
336 |         alert.addAction(UIAlertAction(title: "Cancel", style: .cancel))
    |                         `- error: 'UIAlertAction' is unavailable in watchOS
337 |
338 |         if let popover = alert.popoverPresentationController {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertController.h:32:12: note: 'UIAlertAction' has been explicitly marked unavailable here
30 |
31 | UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
32 | @interface UIAlertAction : NSObject <NSCopying>
   |            `- note: 'UIAlertAction' has been explicitly marked unavailable here
33 |
34 | + (instancetype)actionWithTitle:(nullable NSString *)title style:(UIAlertActionStyle)style handler:(void (^ __nullable)(UIAlertAction *action))handler;
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:371:24: error: cannot find 'AVPlayerViewController' in scope
369 |         }
370 |
371 |         let playerVC = AVPlayerViewController()
    |                        `- error: cannot find 'AVPlayerViewController' in scope
372 |         playerVC.player = AVPlayer(url: videoURL)
373 |         present(playerVC, animated: true) {
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:372:27: error: cannot find 'AVPlayer' in scope
370 |
371 |         let playerVC = AVPlayerViewController()
372 |         playerVC.player = AVPlayer(url: videoURL)
    |                           `- error: cannot find 'AVPlayer' in scope
373 |         present(playerVC, animated: true) {
374 |             playerVC.player?.play()
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/UIKitIntegration.swift:379:21: error: 'UIAlertController' is unavailable in watchOS
377 |
378 |     private func showAlert(title: String, message: String) {
379 |         let alert = UIAlertController(title: title, message: message, preferredStyle: .alert)
    |                     `- error: 'UIAlertController' is unavailable in watchOS
380 |         alert.addAction(UIAlertAction(title: "OK", style: .default))
381 |         present(alert, animated: true)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAlertController.h:43:12: note: 'UIAlertController' has been explicitly marked unavailable here
41 |
42 | UIKIT_EXTERN API_AVAILABLE(ios(8.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
43 | @interface UIAlertController : UIViewController
   |            `- note: 'UIAlertController' has been explicitly marked unavailable here
44 |
45 | + (instancetype)alertControllerWithTitle:(nullable NSString *)title message:(nullable NSString *)message preferredStyle:(UIAlertControllerStyle)preferredStyle;
SwiftCompile normal arm64_32 Compiling\ SessionUploader.swift /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Upload/SessionUploader.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Upload/SessionUploader.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SessionUploader.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
2026-09-27 01:33:24.477 xcodebuild[810:4683] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
2026-09-27 01:33:24.627 xcodebuild[810:4683] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
	SwiftEmitModule normal arm64 Emitting\ module\ for\ SessionReplaySDK (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
	SwiftCompile normal arm64 (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
	Building workspace SessionReplaySDK with scheme SessionReplaySDK
(3 failures)
BUILD FAILURE 6.4 watchOS