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=watchOSBuild 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