Build Information
Failed to build SessionReplaySDK, reference main (08ac65), with Swift 6.4 for watchOS using Xcode 27.0 on 27 Sep 2026 05:33:06 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
SwiftCompile normal arm64_32 Compiling\ SwiftUIIntegration.swift /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:38:17: warning: cannot use generic class 'Autoconnect' in a property declaration member of a type not marked '@_implementationOnly'; 'Combine' was not imported by this file
36 | public struct TouchIndicatorOverlay: View {
37 | @State private var touches: [CapturedTouchEvent] = []
38 | private let timer = Timer.publish(every: 0.1, on: .main, in: .common).autoconnect()
| `- warning: cannot use generic class 'Autoconnect' in a property declaration member of a type not marked '@_implementationOnly'; 'Combine' was not imported by this file
39 |
40 | public init() {}
Combine.Publishers.Autoconnect:2:14: note: generic class declared here
1 | enum Publishers {
2 | public class Autoconnect<Upstream> : Publisher where Upstream : ConnectablePublisher {
| `- note: generic class declared here
3 | public typealias Output = Upstream.Output
4 | public typealias Failure = Upstream.Failure
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:38:17: warning: cannot use enum 'Publishers' in a property declaration member of a type not marked '@_implementationOnly'; 'Combine' was not imported by this file
36 | public struct TouchIndicatorOverlay: View {
37 | @State private var touches: [CapturedTouchEvent] = []
38 | private let timer = Timer.publish(every: 0.1, on: .main, in: .common).autoconnect()
| `- warning: cannot use enum 'Publishers' in a property declaration member of a type not marked '@_implementationOnly'; 'Combine' was not imported by this file
39 |
40 | public init() {}
Combine.Publishers:2:13: note: enum declared here
1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
2 | public enum Publishers {
| `- note: enum declared here
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:79:32: error: cannot find type 'AVPlayer' in scope
77 | public struct SessionReplayViewer: View {
78 | let session: SessionReplayData
79 | @State private var player: AVPlayer?
| `- error: cannot find type 'AVPlayer' in scope
80 | @State private var isPlaying = false
81 | @State private var currentSegmentIndex = 0
macro expansion @State:2:24: error: cannot find type 'AVPlayer' in scope
`- /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:79:41: note: expanded code originates here
77 | public struct SessionReplayViewer: View {
78 | let session: SessionReplayData
79 | @State private var player: AVPlayer?
| `- note: in expansion of macro 'State' on property 'player' here
+--- macro expansion @State ---------------------------------------
| 1 | private var __player = SwiftUICore.State._makeStorage(({
| 2 | let value: AVPlayer? = nil
| | `- error: cannot find type 'AVPlayer' in scope
| 3 | return value
| 4 | }))
+------------------------------------------------------------------
80 | @State private var isPlaying = false
81 | @State private var currentSegmentIndex = 0
macro expansion @State:8:27: error: cannot find type 'AVPlayer' in scope
`- /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:79:41: note: expanded code originates here
77 | public struct SessionReplayViewer: View {
78 | let session: SessionReplayData
79 | @State private var player: AVPlayer?
| `- note: in expansion of macro 'State' on property 'player' here
+--- macro expansion @State ---------------------------------------
| 6 | @SwiftUICore._StatePropertyWrapperStorage(initialValue: "JHMxNlNlc3Npb25SZXBsYXlTREswYUI2Vmlld2VyVjZwbGF5ZXIzM182QUUwRDRCRTU2MzYwQUNBODAyMUQxRDhGOTZDODU3N0xMNVN0YXRlZk1wXzIwX2luaXRpYWxTdG9yZWRWYWx1ZV9mTXVf")
| 7 | private var _player: SwiftUICore.State<_>! = SwiftUICore._stateNil(of: {
| 8 | SwiftUICore.State<AVPlayer?>(initialValue: nil)
| | `- error: cannot find type 'AVPlayer' in scope
| 9 | })
|10 |
+------------------------------------------------------------------
80 | @State private var isPlaying = false
81 | @State private var currentSegmentIndex = 0
macro expansion @State:7:40: error: could not infer type for placeholder
`- /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:79:41: note: expanded code originates here
77 | public struct SessionReplayViewer: View {
78 | let session: SessionReplayData
79 | @State private var player: AVPlayer?
| `- note: in expansion of macro 'State' on property 'player' here
+--- macro expansion @State ---------------------------------------
| 5 |
| 6 | @SwiftUICore._StatePropertyWrapperStorage(initialValue: "JHMxNlNlc3Npb25SZXBsYXlTREswYUI2Vmlld2VyVjZwbGF5ZXIzM182QUUwRDRCRTU2MzYwQUNBODAyMUQxRDhGOTZDODU3N0xMNVN0YXRlZk1wXzIwX2luaXRpYWxTdG9yZWRWYWx1ZV9mTXVf")
| 7 | private var _player: SwiftUICore.State<_>! = SwiftUICore._stateNil(of: {
| | `- error: could not infer type for placeholder
| 8 | SwiftUICore.State<AVPlayer?>(initialValue: nil)
| 9 | })
+------------------------------------------------------------------
80 | @State private var isPlaying = false
81 | @State private var currentSegmentIndex = 0
macro expansion @State:12:41: error: cannot find type 'AVPlayer' in scope
`- /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:79:41: note: expanded code originates here
77 | public struct SessionReplayViewer: View {
78 | let session: SessionReplayData
79 | @State private var player: AVPlayer?
| `- note: in expansion of macro 'State' on property 'player' here
+--- macro expansion @State ---------------------------------------
|10 |
|11 | @SwiftUICore._StateProjectedValue
|12 | private var $player = SwiftUICore.State<AVPlayer?>(initialValue: nil).projectedValue
| | `- error: cannot find type 'AVPlayer' in scope
|13 |
|14 | @SwiftUICore._StateInitialStoredValue("U3dpZnRVSUNvcmUuU3RhdGUuX21ha2VTdG9yYWdlKGluaXRpYWxWYWx1ZTogeyBsZXQgeDogQVZQbGF5ZXI/ID0gbmlsCnJldHVybiB4IH0oKSk=")
+------------------------------------------------------------------
80 | @State private var isPlaying = false
81 | @State private var currentSegmentIndex = 0
macro expansion @State:16:20: error: cannot find type 'AVPlayer' in scope
`- /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:79:41: note: expanded code originates here
77 | public struct SessionReplayViewer: View {
78 | let session: SessionReplayData
79 | @State private var player: AVPlayer?
| `- note: in expansion of macro 'State' on property 'player' here
+--- macro expansion @State ---------------------------------------
|14 | @SwiftUICore._StateInitialStoredValue("U3dpZnRVSUNvcmUuU3RhdGUuX21ha2VTdG9yYWdlKGluaXRpYWxWYWx1ZTogeyBsZXQgeDogQVZQbGF5ZXI/ID0gbmlsCnJldHVybiB4IH0oKSk=")
|15 | private static var $s16SessionReplaySDK0aB6ViewerV6player33_6AE0D4BE56360ACA8021D1D8F96C8577LL5StatefMp_20_initialStoredValue_fMu_ = (SwiftUICore.State._makeStorage(initialValue: {
|16 | let x: AVPlayer? = nil
| | `- error: cannot find type 'AVPlayer' in scope
|17 | return x
|18 | }()))
+------------------------------------------------------------------
80 | @State private var isPlaying = false
81 | @State private var currentSegmentIndex = 0
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:433:30: error: cannot find type 'Context' in scope
431 | /// frame lies inside the marked view's frame is left visible.
432 | struct UnmaskedMarkerView: UIViewRepresentable {
433 | func makeUIView(context: Context) -> UIView {
| `- error: cannot find type 'Context' in scope
434 | let view = UIView()
435 | view.backgroundColor = .clear
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:433:42: error: 'UIView' is unavailable in watchOS
431 | /// frame lies inside the marked view's frame is left visible.
432 | struct UnmaskedMarkerView: UIViewRepresentable {
433 | func makeUIView(context: Context) -> UIView {
| `- error: 'UIView' is unavailable in watchOS
434 | let view = UIView()
435 | view.backgroundColor = .clear
/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/SwiftUIIntegration.swift:441:50: error: cannot find type 'Context' in scope
439 | }
440 |
441 | func updateUIView(_ uiView: UIView, context: Context) {
| `- error: cannot find type 'Context' in scope
442 | DispatchQueue.main.async {
443 | var current: UIView? = uiView.superview
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:441:33: error: 'UIView' is unavailable in watchOS
439 | }
440 |
441 | func updateUIView(_ uiView: UIView, context: Context) {
| `- error: 'UIView' is unavailable in watchOS
442 | DispatchQueue.main.async {
443 | var current: UIView? = uiView.superview
/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/SwiftUIIntegration.swift:432:28: error: cannot find type 'UIViewRepresentable' in scope
430 | /// Like `SensitiveMarkerView`, it works by frame: anything auto-masked whose
431 | /// frame lies inside the marked view's frame is left visible.
432 | struct UnmaskedMarkerView: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
433 | func makeUIView(context: Context) -> UIView {
434 | let view = UIView()
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:475:30: error: cannot find type 'Context' in scope
473 | /// UIViewRepresentable that marks the hosting view as sensitive
474 | struct SensitiveMarkerView: UIViewRepresentable {
475 | func makeUIView(context: Context) -> UIView {
| `- error: cannot find type 'Context' in scope
476 | let view = UIView()
477 | view.backgroundColor = .clear
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:475:42: error: 'UIView' is unavailable in watchOS
473 | /// UIViewRepresentable that marks the hosting view as sensitive
474 | struct SensitiveMarkerView: UIViewRepresentable {
475 | func makeUIView(context: Context) -> UIView {
| `- error: 'UIView' is unavailable in watchOS
476 | let view = UIView()
477 | view.backgroundColor = .clear
/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/SwiftUIIntegration.swift:484:50: error: cannot find type 'Context' in scope
482 | }
483 |
484 | func updateUIView(_ uiView: UIView, context: Context) {
| `- error: cannot find type 'Context' in scope
485 | // Ensure the parent view hierarchy is also marked
486 | DispatchQueue.main.async {
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:484:33: error: 'UIView' is unavailable in watchOS
482 | }
483 |
484 | func updateUIView(_ uiView: UIView, context: Context) {
| `- error: 'UIView' is unavailable in watchOS
485 | // Ensure the parent view hierarchy is also marked
486 | DispatchQueue.main.async {
/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/SwiftUIIntegration.swift:474:29: error: cannot find type 'UIViewRepresentable' in scope
472 |
473 | /// UIViewRepresentable that marks the hosting view as sensitive
474 | struct SensitiveMarkerView: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
475 | func makeUIView(context: Context) -> UIView {
476 | let view = UIView()
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:508:17: warning: cannot use generic class 'Autoconnect' in a property declaration member of a type not marked '@_implementationOnly'; 'Combine' was not imported by this file
506 | @State private var touchCount = 0
507 |
508 | private let timer = Timer.publish(every: 0.5, on: .main, in: .common).autoconnect()
| `- warning: cannot use generic class 'Autoconnect' in a property declaration member of a type not marked '@_implementationOnly'; 'Combine' was not imported by this file
509 |
510 | public init() {}
Combine.Publishers.Autoconnect:2:14: note: generic class declared here
1 | enum Publishers {
2 | public class Autoconnect<Upstream> : Publisher where Upstream : ConnectablePublisher {
| `- note: generic class declared here
3 | public typealias Output = Upstream.Output
4 | public typealias Failure = Upstream.Failure
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:508:17: warning: cannot use enum 'Publishers' in a property declaration member of a type not marked '@_implementationOnly'; 'Combine' was not imported by this file
506 | @State private var touchCount = 0
507 |
508 | private let timer = Timer.publish(every: 0.5, on: .main, in: .common).autoconnect()
| `- warning: cannot use enum 'Publishers' in a property declaration member of a type not marked '@_implementationOnly'; 'Combine' was not imported by this file
509 |
510 | public init() {}
Combine.Publishers:2:13: note: enum declared here
1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
2 | public enum Publishers {
| `- note: enum declared here
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:1163:17: warning: cannot use generic class 'Autoconnect' in a property declaration member of a type not marked '@_implementationOnly'; 'Combine' was not imported by this file
1161 | @State private var lastUpdateCount = 0
1162 |
1163 | private let timer = Timer.publish(every: 0.5, on: .main, in: .common).autoconnect()
| `- warning: cannot use generic class 'Autoconnect' in a property declaration member of a type not marked '@_implementationOnly'; 'Combine' was not imported by this file
1164 |
1165 | /// Maximum entries to display for performance
Combine.Publishers.Autoconnect:2:14: note: generic class declared here
1 | enum Publishers {
2 | public class Autoconnect<Upstream> : Publisher where Upstream : ConnectablePublisher {
| `- note: generic class declared here
3 | public typealias Output = Upstream.Output
4 | public typealias Failure = Upstream.Failure
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:1163:17: warning: cannot use enum 'Publishers' in a property declaration member of a type not marked '@_implementationOnly'; 'Combine' was not imported by this file
1161 | @State private var lastUpdateCount = 0
1162 |
1163 | private let timer = Timer.publish(every: 0.5, on: .main, in: .common).autoconnect()
| `- warning: cannot use enum 'Publishers' in a property declaration member of a type not marked '@_implementationOnly'; 'Combine' was not imported by this file
1164 |
1165 | /// Maximum entries to display for performance
Combine.Publishers:2:13: note: enum declared here
1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
2 | public enum Publishers {
| `- note: enum declared here
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:68:28: error: 'UITouch' is unavailable in watchOS
66 |
67 | let recentTouches = session.touchEvents?.suffix(20).filter { touch in
68 | touch.phase == UITouch.Phase.began.rawValue || touch.phase == UITouch.Phase.moved.rawValue
| `- error: 'UITouch' is unavailable in watchOS
69 | }
70 | touches = Array(recentTouches?.suffix(5) ?? [])
/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/SwiftUIIntegration.swift:68:75: error: 'UITouch' is unavailable in watchOS
66 |
67 | let recentTouches = session.touchEvents?.suffix(20).filter { touch in
68 | touch.phase == UITouch.Phase.began.rawValue || touch.phase == UITouch.Phase.moved.rawValue
| `- error: 'UITouch' is unavailable in watchOS
69 | }
70 | touches = Array(recentTouches?.suffix(5) ?? [])
/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;
macro expansion @_StateInitialStoredValue:4:24: error: cannot find type 'AVPlayer' in scope
`- /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:79:41: note: expanded code originates here
77 | public struct SessionReplayViewer: View {
78 | let session: SessionReplayData
79 | @State private var player: AVPlayer?
| `- note: in expansion of macro 'State' on property 'player' here
+--- macro expansion @State ---------------------------------------
|12 | private var $player = SwiftUICore.State<AVPlayer?>(initialValue: nil).projectedValue
|13 |
|14 | @SwiftUICore._StateInitialStoredValue("U3dpZnRVSUNvcmUuU3RhdGUuX21ha2VTdG9yYWdlKGluaXRpYWxWYWx1ZTogeyBsZXQgeDogQVZQbGF5ZXI/ID0gbmlsCnJldHVybiB4IH0oKSk=")
| | `- note: in expansion of macro '_StateInitialStoredValue' on static property '$s16SessionReplaySDK0aB6ViewerV6player33_6AE0D4BE56360ACA8021D1D8F96C8577LL5StatefMp_20_initialStoredValue_fMu_' here
|15 | private static var $s16SessionReplaySDK0aB6ViewerV6player33_6AE0D4BE56360ACA8021D1D8F96C8577LL5StatefMp_20_initialStoredValue_fMu_ = (SwiftUICore.State._makeStorage(initialValue: {
|16 | let x: AVPlayer? = nil
|17 | return x
|18 | }()))
| +--- macro expansion @_StateInitialStoredValue ----------------
| |2 | get {
| |3 | SwiftUICore.State._makeStorage(initialValue: {
| |4 | let x: AVPlayer? = nil
| | | `- error: cannot find type 'AVPlayer' in scope
| |5 | return x
| |6 | }())
| +--------------------------------------------------------------
+------------------------------------------------------------------
80 | @State private var isPlaying = false
81 | @State private var currentSegmentIndex = 0
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:160:18: error: cannot find 'AVPlayer' in scope
158 | }
159 |
160 | player = AVPlayer(url: url)
| `- error: cannot find 'AVPlayer' in scope
161 |
162 | NotificationCenter.default.addObserver(
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:186:23: error: cannot find 'CMTimeSubtract' in scope
184 | guard let player = player,
185 | let currentTime = player.currentItem?.currentTime() else { return }
186 | let newTime = CMTimeSubtract(currentTime, CMTime(seconds: 10, preferredTimescale: 1))
| `- error: cannot find 'CMTimeSubtract' in scope
187 | player.seek(to: newTime)
188 | }
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:186:51: error: cannot find 'CMTime' in scope
184 | guard let player = player,
185 | let currentTime = player.currentItem?.currentTime() else { return }
186 | let newTime = CMTimeSubtract(currentTime, CMTime(seconds: 10, preferredTimescale: 1))
| `- error: cannot find 'CMTime' in scope
187 | player.seek(to: newTime)
188 | }
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:193:23: error: cannot find 'CMTimeAdd' in scope
191 | guard let player = player,
192 | let currentTime = player.currentItem?.currentTime() else { return }
193 | let newTime = CMTimeAdd(currentTime, CMTime(seconds: 10, preferredTimescale: 1))
| `- error: cannot find 'CMTimeAdd' in scope
194 | player.seek(to: newTime)
195 | }
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:193:46: error: cannot find 'CMTime' in scope
191 | guard let player = player,
192 | let currentTime = player.currentItem?.currentTime() else { return }
193 | let newTime = CMTimeAdd(currentTime, CMTime(seconds: 10, preferredTimescale: 1))
| `- error: cannot find 'CMTime' in scope
194 | player.seek(to: newTime)
195 | }
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:273:41: error: 'navigationBarTrailing' is unavailable in watchOS
271 | .navigationTitle("Session Replays")
272 | .toolbar {
273 | ToolbarItem(placement: .navigationBarTrailing) {
| `- error: 'navigationBarTrailing' is unavailable in watchOS
274 | Button("Refresh") {
275 | loadSessions()
SwiftUI.ToolbarItemPlacement.navigationBarTrailing:7:21: note: 'navigationBarTrailing' has been explicitly marked unavailable here
5 | @available(watchOS, unavailable)
6 | @available(visionOS, introduced: 1.0, deprecated: 100000.0, message: "use topBarTrailing instead")
7 | public static let navigationBarTrailing: ToolbarItemPlacement}
| `- note: 'navigationBarTrailing' has been explicitly marked unavailable here
8 |
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:423:14: error: instance method 'background(_:ignoresSafeAreaEdges:)' requires that 'UnmaskedMarkerView' conform to 'ShapeStyle'
421 | public func body(content: Content) -> some View {
422 | content
423 | .background(
| `- error: instance method 'background(_:ignoresSafeAreaEdges:)' requires that 'UnmaskedMarkerView' conform to 'ShapeStyle'
424 | UnmaskedMarkerView()
425 | )
SwiftUI.View.background:2:36: note: where 'S' = 'UnmaskedMarkerView'
1 | protocol View {
2 | @inlinable nonisolated public func background<S>(_ style: S, ignoresSafeAreaEdges edges: Edge.Set = .all) -> some View where S : ShapeStyle
| `- note: where 'S' = 'UnmaskedMarkerView'
3 | }
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:434:20: error: 'UIView' is unavailable in watchOS
432 | struct UnmaskedMarkerView: UIViewRepresentable {
433 | func makeUIView(context: Context) -> UIView {
434 | let view = UIView()
| `- error: 'UIView' is unavailable in watchOS
435 | view.backgroundColor = .clear
436 | view.isUserInteractionEnabled = 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/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/SwiftUIIntegration.swift:434:20: error: 'init()' is unavailable in watchOS
432 | struct UnmaskedMarkerView: UIViewRepresentable {
433 | func makeUIView(context: Context) -> UIView {
434 | let view = UIView()
| `- error: 'init()' is unavailable in watchOS
435 | view.backgroundColor = .clear
436 | view.isUserInteractionEnabled = 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/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/SwiftUIIntegration.swift:443:26: error: 'UIView' is unavailable in watchOS
441 | func updateUIView(_ uiView: UIView, context: Context) {
442 | DispatchQueue.main.async {
443 | var current: UIView? = uiView.superview
| `- error: 'UIView' is unavailable in watchOS
444 | while let view = current {
445 | if view.bounds.size != .zero {
/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/SwiftUIIntegration.swift:467:14: error: instance method 'background(_:ignoresSafeAreaEdges:)' requires that 'SensitiveMarkerView' conform to 'ShapeStyle'
465 | public func body(content: Content) -> some View {
466 | content
467 | .background(
| `- error: instance method 'background(_:ignoresSafeAreaEdges:)' requires that 'SensitiveMarkerView' conform to 'ShapeStyle'
468 | SensitiveMarkerView()
469 | )
SwiftUI.View.background:2:36: note: where 'S' = 'SensitiveMarkerView'
1 | protocol View {
2 | @inlinable nonisolated public func background<S>(_ style: S, ignoresSafeAreaEdges edges: Edge.Set = .all) -> some View where S : ShapeStyle
| `- note: where 'S' = 'SensitiveMarkerView'
3 | }
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:476:20: error: 'UIView' is unavailable in watchOS
474 | struct SensitiveMarkerView: UIViewRepresentable {
475 | func makeUIView(context: Context) -> UIView {
476 | let view = UIView()
| `- error: 'UIView' is unavailable in watchOS
477 | view.backgroundColor = .clear
478 | view.isUserInteractionEnabled = 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/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/SwiftUIIntegration.swift:476:20: error: 'init()' is unavailable in watchOS
474 | struct SensitiveMarkerView: UIViewRepresentable {
475 | func makeUIView(context: Context) -> UIView {
476 | let view = UIView()
| `- error: 'init()' is unavailable in watchOS
477 | view.backgroundColor = .clear
478 | view.isUserInteractionEnabled = 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/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/SwiftUIIntegration.swift:488:26: error: 'UIView' is unavailable in watchOS
486 | DispatchQueue.main.async {
487 | // Walk up the view hierarchy and mark the first significant view
488 | var current: UIView? = uiView.superview
| `- error: 'UIView' is unavailable in watchOS
489 | while let view = current {
490 | if view.bounds.size != .zero {
/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/SwiftUIIntegration.swift:546:28: error: 'systemBackground' is unavailable in watchOS
544 | }
545 | .padding()
546 | .background(Color(.systemBackground))
| `- error: 'systemBackground' is unavailable in watchOS
547 | .cornerRadius(12)
548 | .shadow(radius: 4)
/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/SwiftUIIntegration.swift:686:28: error: 'systemGroupedBackground' is unavailable in watchOS
684 | timelineSection
685 | }
686 | .background(Color(.systemGroupedBackground))
| `- error: 'systemGroupedBackground' is unavailable in watchOS
687 | .onAppear {
688 | buildActivityList()
/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:217:49: note: 'systemGroupedBackground' has been explicitly marked unavailable here
215 | * colors in places where a table view wouldn't make sense.
216 | */
217 | @property (class, nonatomic, readonly) UIColor *systemGroupedBackgroundColor API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
| `- note: 'systemGroupedBackground' has been explicitly marked unavailable here
218 | @property (class, nonatomic, readonly) UIColor *secondarySystemGroupedBackgroundColor API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
219 | @property (class, nonatomic, readonly) UIColor *tertiarySystemGroupedBackgroundColor API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SwiftUIIntegration.swift
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Integration/SwiftUIIntegration.swift:710:28: error: 'systemBackground' is unavailable in watchOS
708 | }
709 | .padding()
710 | .background(Color(.systemBackground))
| `- error: 'systemBackground' is unavailable in watchOS
711 | }
712 |
/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);
SwiftCompile normal arm64_32 Compiling\ Models.swift /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/Models.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/Models.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Models.swift
SwiftCompile normal arm64_32 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:194:45: error: 'UIBackgroundTaskIdentifier' is unavailable in watchOS
192 | /// assertion could be taken, which callers can pass to
193 | /// `endFinalizationTask(_:)` safely.
194 | private func beginFinalizationTask() -> UIBackgroundTaskIdentifier {
| `- error: 'UIBackgroundTaskIdentifier' is unavailable in watchOS
195 | guard Thread.isMainThread else { return .invalid }
196 | var identifier: UIBackgroundTaskIdentifier = .invalid
/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:68:20: note: 'UIBackgroundTaskIdentifier' has been explicitly marked unavailable here
66 | } API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos);
67 |
68 | typedef NSUInteger UIBackgroundTaskIdentifier NS_TYPED_ENUM API_UNAVAILABLE(watchos);
| `- note: 'UIBackgroundTaskIdentifier' has been explicitly marked unavailable here
69 | UIKIT_EXTERN const UIBackgroundTaskIdentifier UIBackgroundTaskInvalid API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos);
70 | UIKIT_EXTERN const NSTimeInterval UIMinimumKeepAliveTimeout API_DEPRECATED("Please use PushKit for VoIP applications.", ios(4.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:204:59: error: 'UIBackgroundTaskIdentifier' is unavailable in watchOS
202 | }
203 |
204 | private static func endFinalizationTask(_ identifier: UIBackgroundTaskIdentifier) {
| `- error: 'UIBackgroundTaskIdentifier' is unavailable in watchOS
205 | guard identifier != .invalid else { return }
206 | DispatchQueue.main.async {
/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:68:20: note: 'UIBackgroundTaskIdentifier' has been explicitly marked unavailable here
66 | } API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos);
67 |
68 | typedef NSUInteger UIBackgroundTaskIdentifier NS_TYPED_ENUM API_UNAVAILABLE(watchos);
| `- note: 'UIBackgroundTaskIdentifier' has been explicitly marked unavailable here
69 | UIKIT_EXTERN const UIBackgroundTaskIdentifier UIBackgroundTaskInvalid API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos);
70 | UIKIT_EXTERN const NSTimeInterval UIMinimumKeepAliveTimeout API_DEPRECATED("Please use PushKit for VoIP applications.", ios(4.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:346:43: error: 'UITouch' is unavailable in watchOS
344 |
345 | /// Record a touch event
346 | public func recordTouchEvent(_ touch: UITouch, in window: UIWindow) {
| `- error: 'UITouch' is unavailable in watchOS
347 | guard isRecording, config.captureTouches else { return }
348 |
/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:346:63: error: 'UIWindow' is unavailable in watchOS
344 |
345 | /// Record a touch event
346 | public func recordTouchEvent(_ touch: UITouch, in window: UIWindow) {
| `- error: 'UIWindow' is unavailable in watchOS
347 | guard isRecording, config.captureTouches else { return }
348 |
/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:628:49: error: 'CADisplayLink' is unavailable in watchOS
626 | }
627 |
628 | @objc private func displayLinkFired(_ link: CADisplayLink) {
| `- error: 'CADisplayLink' is unavailable in watchOS
629 | guard isRecording else { return }
630 |
/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:678:46: error: 'UIView' is unavailable in watchOS
676 |
677 | /// Collect frames of all sensitive views that should be masked
678 | func collectSensitiveViewFrames(in view: UIView) -> [CGRect] {
| `- error: 'UIView' is unavailable in watchOS
679 | // Pass 1: frames explicitly exempted from auto-masking (markAsUnmasked / unmaskedContent)
680 | 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:689:57: error: 'UIView' is unavailable in watchOS
687 | }
688 |
689 | private func collectUnmaskedFramesRecursive(_ view: UIView, rootView: UIView, frames: inout [CGRect]) {
| `- error: 'UIView' is unavailable in watchOS
690 | if view.isUnmasked {
691 | 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:689:75: error: 'UIView' is unavailable in watchOS
687 | }
688 |
689 | private func collectUnmaskedFramesRecursive(_ view: UIView, rootView: UIView, frames: inout [CGRect]) {
| `- error: 'UIView' is unavailable in watchOS
690 | if view.isUnmasked {
691 | 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:698:58: error: 'UIView' is unavailable in watchOS
696 | }
697 |
698 | private func collectSensitiveFramesRecursive(_ view: UIView, rootView: UIView, unmasked: [CGRect], frames: inout [CGRect]) {
| `- error: 'UIView' is unavailable in watchOS
699 | let frameInRoot = view.convert(view.bounds, to: rootView)
700 |
/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:698:76: error: 'UIView' is unavailable in watchOS
696 | }
697 |
698 | private func collectSensitiveFramesRecursive(_ view: UIView, rootView: UIView, unmasked: [CGRect], frames: inout [CGRect]) {
| `- error: 'UIView' is unavailable in watchOS
699 | let frameInRoot = view.convert(view.bounds, to: rootView)
700 |
/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:737:36: error: 'UIView' is unavailable in watchOS
735 | /// is still honoured: this only prevents `markAsUnmasked()` /
736 | /// `.unmaskedContent()` from revealing a view that would otherwise be masked.
737 | func isNeverUnmaskable(_ view: UIView) -> Bool {
| `- error: 'UIView' is unavailable in watchOS
738 | if let textField = view as? UITextField, textField.isSecureTextEntry {
739 | 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:744:40: error: 'UIView' is unavailable in watchOS
742 | }
743 |
744 | func isExplicitlySensitive(_ view: UIView) -> Bool {
| `- error: 'UIView' is unavailable in watchOS
745 | // Check manual sensitive marking
746 | 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:758:31: error: 'UIView' is unavailable in watchOS
756 | }
757 |
758 | func isAutoMasked(_ view: UIView) -> Bool {
| `- error: 'UIView' is unavailable in watchOS
759 | // Auto-mask secure text fields (password fields)
760 | 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:803:46: error: 'UIView' is unavailable in watchOS
801 | }
802 |
803 | private func computeViewTreeHash(_ view: UIView) -> Int {
| `- error: 'UIView' is unavailable in watchOS
804 | var hasher = Hasher()
805 | 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:809:42: error: 'UIView' is unavailable in watchOS
807 | }
808 |
809 | private func computeViewHash(_ view: UIView, into hasher: inout Hasher) {
| `- error: 'UIView' is unavailable in watchOS
810 | hasher.combine(view.frame.origin.x)
811 | 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:938:43: error: 'UIWindow' is unavailable in watchOS
936 | /// Windows we attached an observer to, so stopTouchCapture() can remove them
937 | /// even from windows that are no longer listed by any scene (e.g. keyboard windows).
938 | private let observedWindows = NSHashTable<UIWindow>.weakObjects()
| `- error: 'UIWindow' is unavailable in watchOS
939 |
940 | 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:992:50: error: 'UIWindow' is unavailable in watchOS
990 | }
991 |
992 | private func currentApplicationWindows() -> [UIWindow] {
| `- error: 'UIWindow' is unavailable in watchOS
993 | UIApplication.shared.connectedScenes
994 | .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:998:49: error: 'UIWindow' is unavailable in watchOS
996 | }
997 |
998 | private func attachTouchObserver(to window: UIWindow) {
| `- error: 'UIWindow' is unavailable in watchOS
999 | let alreadyAttached = window.gestureRecognizers?.contains { $0 is SessionReplayTouchObserver } ?? false
1000 | 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:1028:47: error: 'UITouch' is unavailable in watchOS
1026 | // MARK: Touch observation
1027 |
1028 | override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
| `- error: 'UITouch' is unavailable in watchOS
1029 | super.touchesBegan(touches, with: event)
1030 | 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:1028:69: error: 'UIEvent' is unavailable in watchOS
1026 | // MARK: Touch observation
1027 |
1028 | override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent) {
| `- error: 'UIEvent' is unavailable in watchOS
1029 | super.touchesBegan(touches, with: event)
1030 | 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:1033:47: error: 'UITouch' is unavailable in watchOS
1031 | }
1032 |
1033 | override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
| `- error: 'UITouch' is unavailable in watchOS
1034 | super.touchesMoved(touches, with: event)
1035 | 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:1033:69: error: 'UIEvent' is unavailable in watchOS
1031 | }
1032 |
1033 | override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent) {
| `- error: 'UIEvent' is unavailable in watchOS
1034 | super.touchesMoved(touches, with: event)
1035 | 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:1038:47: error: 'UITouch' is unavailable in watchOS
1036 | }
1037 |
1038 | override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent) {
| `- error: 'UITouch' is unavailable in watchOS
1039 | super.touchesEnded(touches, with: event)
1040 | 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:1038:69: error: 'UIEvent' is unavailable in watchOS
1036 | }
1037 |
1038 | override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent) {
| `- error: 'UIEvent' is unavailable in watchOS
1039 | super.touchesEnded(touches, with: event)
1040 | 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:1044:51: error: 'UITouch' is unavailable in watchOS
1042 | }
1043 |
1044 | override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent) {
| `- error: 'UITouch' is unavailable in watchOS
1045 | super.touchesCancelled(touches, with: event)
1046 | 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:1044:73: error: 'UIEvent' is unavailable in watchOS
1042 | }
1043 |
1044 | override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent) {
| `- error: 'UIEvent' is unavailable in watchOS
1045 | super.touchesCancelled(touches, with: event)
1046 | 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:1050:40: error: 'UITouch' is unavailable in watchOS
1048 | }
1049 |
1050 | private func record(_ touches: Set<UITouch>) {
| `- error: 'UITouch' is unavailable in watchOS
1051 | guard let window = view as? UIWindow ?? view?.window else { return }
1052 | 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:1059:50: error: 'UIEvent' is unavailable in watchOS
1057 | /// Only give up once every touch in this sequence has lifted. Failing while
1058 | /// other fingers are still down would stop UIKit delivering their moves to us.
1059 | private func failIfSequenceFinished(_ event: UIEvent) {
| `- error: 'UIEvent' is unavailable in watchOS
1060 | let stillActive = event.touches(for: self)?.contains {
1061 | $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:1070:49: error: 'UIGestureRecognizer' is unavailable in watchOS
1068 | // MARK: UIGestureRecognizerDelegate — never block anything
1069 |
1070 | func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
| `- error: 'UIGestureRecognizer' is unavailable in watchOS
1071 | shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
1072 | 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:1071:86: error: 'UIGestureRecognizer' is unavailable in watchOS
1069 |
1070 | func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
1071 | shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
| `- error: 'UIGestureRecognizer' is unavailable in watchOS
1072 | true
1073 | }
/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:1075:49: error: 'UIGestureRecognizer' is unavailable in watchOS
1073 | }
1074 |
1075 | func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
| `- error: 'UIGestureRecognizer' is unavailable in watchOS
1076 | shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool {
1077 | 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:1076:77: error: 'UIGestureRecognizer' is unavailable in watchOS
1074 |
1075 | func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
1076 | shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool {
| `- error: 'UIGestureRecognizer' is unavailable in watchOS
1077 | false
1078 | }
/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:1080:49: error: 'UIGestureRecognizer' is unavailable in watchOS
1078 | }
1079 |
1080 | func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
| `- error: 'UIGestureRecognizer' is unavailable in watchOS
1081 | shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool {
1082 | 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:1081:75: error: 'UIGestureRecognizer' is unavailable in watchOS
1079 |
1080 | func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
1081 | shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool {
| `- error: 'UIGestureRecognizer' is unavailable in watchOS
1082 | false
1083 | }
/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:1085:49: error: 'UIGestureRecognizer' is unavailable in watchOS
1083 | }
1084 |
1085 | func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive press: UIPress) -> Bool {
| `- error: 'UIGestureRecognizer' is unavailable in watchOS
1086 | false
1087 | }
/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:1085:91: error: 'UIPress' is unavailable in watchOS
1083 | }
1084 |
1085 | func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive press: UIPress) -> Bool {
| `- error: 'UIPress' is unavailable in watchOS
1086 | false
1087 | }
/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:1009:41: error: 'UIGestureRecognizer' is unavailable in watchOS
1007 | /// never recognizes, so it cannot cancel, delay, or block any other gesture or
1008 | /// touch handling in the host app.
1009 | final class SessionReplayTouchObserver: UIGestureRecognizer, UIGestureRecognizerDelegate {
| `- error: 'UIGestureRecognizer' is unavailable in watchOS
1010 |
1011 | 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:1009:62: error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
1007 | /// never recognizes, so it cannot cancel, delay, or block any other gesture or
1008 | /// touch handling in the host app.
1009 | final class SessionReplayTouchObserver: UIGestureRecognizer, UIGestureRecognizerDelegate {
| `- error: 'UIGestureRecognizerDelegate' is unavailable in watchOS
1010 |
1011 | 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:195:50: error: 'invalid' is unavailable in watchOS
193 | /// `endFinalizationTask(_:)` safely.
194 | private func beginFinalizationTask() -> UIBackgroundTaskIdentifier {
195 | guard Thread.isMainThread else { return .invalid }
| `- error: 'invalid' is unavailable in watchOS
196 | var identifier: UIBackgroundTaskIdentifier = .invalid
197 | identifier = UIApplication.shared.beginBackgroundTask(withName: "com.sessionreplay.finalize") {
/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:69:47: note: 'invalid' has been explicitly marked unavailable here
67 |
68 | typedef NSUInteger UIBackgroundTaskIdentifier NS_TYPED_ENUM API_UNAVAILABLE(watchos);
69 | UIKIT_EXTERN const UIBackgroundTaskIdentifier UIBackgroundTaskInvalid API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos);
| `- note: 'invalid' has been explicitly marked unavailable here
70 | UIKIT_EXTERN const NSTimeInterval UIMinimumKeepAliveTimeout API_DEPRECATED("Please use PushKit for VoIP applications.", ios(4.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
71 | UIKIT_EXTERN const NSTimeInterval UIApplicationBackgroundFetchIntervalMinimum API_AVAILABLE(ios(7.0), tvos(11.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:196:25: error: 'UIBackgroundTaskIdentifier' is unavailable in watchOS
194 | private func beginFinalizationTask() -> UIBackgroundTaskIdentifier {
195 | guard Thread.isMainThread else { return .invalid }
196 | var identifier: UIBackgroundTaskIdentifier = .invalid
| `- error: 'UIBackgroundTaskIdentifier' is unavailable in watchOS
197 | identifier = UIApplication.shared.beginBackgroundTask(withName: "com.sessionreplay.finalize") {
198 | // Expiry: UIKit is about to suspend us regardless.
/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:68:20: note: 'UIBackgroundTaskIdentifier' has been explicitly marked unavailable here
66 | } API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos);
67 |
68 | typedef NSUInteger UIBackgroundTaskIdentifier NS_TYPED_ENUM API_UNAVAILABLE(watchos);
| `- note: 'UIBackgroundTaskIdentifier' has been explicitly marked unavailable here
69 | UIKIT_EXTERN const UIBackgroundTaskIdentifier UIBackgroundTaskInvalid API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos);
70 | UIKIT_EXTERN const NSTimeInterval UIMinimumKeepAliveTimeout API_DEPRECATED("Please use PushKit for VoIP applications.", ios(4.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:196:55: error: 'invalid' is unavailable in watchOS
194 | private func beginFinalizationTask() -> UIBackgroundTaskIdentifier {
195 | guard Thread.isMainThread else { return .invalid }
196 | var identifier: UIBackgroundTaskIdentifier = .invalid
| `- error: 'invalid' is unavailable in watchOS
197 | identifier = UIApplication.shared.beginBackgroundTask(withName: "com.sessionreplay.finalize") {
198 | // Expiry: UIKit is about to suspend us regardless.
/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:69:47: note: 'invalid' has been explicitly marked unavailable here
67 |
68 | typedef NSUInteger UIBackgroundTaskIdentifier NS_TYPED_ENUM API_UNAVAILABLE(watchos);
69 | UIKIT_EXTERN const UIBackgroundTaskIdentifier UIBackgroundTaskInvalid API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos);
| `- note: 'invalid' has been explicitly marked unavailable here
70 | UIKIT_EXTERN const NSTimeInterval UIMinimumKeepAliveTimeout API_DEPRECATED("Please use PushKit for VoIP applications.", ios(4.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
71 | UIKIT_EXTERN const NSTimeInterval UIApplicationBackgroundFetchIntervalMinimum API_AVAILABLE(ios(7.0), tvos(11.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:197:22: error: 'UIApplication' is unavailable in watchOS
195 | guard Thread.isMainThread else { return .invalid }
196 | var identifier: UIBackgroundTaskIdentifier = .invalid
197 | identifier = UIApplication.shared.beginBackgroundTask(withName: "com.sessionreplay.finalize") {
| `- error: 'UIApplication' is unavailable in watchOS
198 | // Expiry: UIKit is about to suspend us regardless.
199 | Self.endFinalizationTask(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/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:205:30: error: 'invalid' is unavailable in watchOS
203 |
204 | private static func endFinalizationTask(_ identifier: UIBackgroundTaskIdentifier) {
205 | guard identifier != .invalid else { return }
| `- error: 'invalid' is unavailable in watchOS
206 | DispatchQueue.main.async {
207 | UIApplication.shared.endBackgroundTask(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/UIApplication.h:69:47: note: 'invalid' has been explicitly marked unavailable here
67 |
68 | typedef NSUInteger UIBackgroundTaskIdentifier NS_TYPED_ENUM API_UNAVAILABLE(watchos);
69 | UIKIT_EXTERN const UIBackgroundTaskIdentifier UIBackgroundTaskInvalid API_AVAILABLE(ios(4.0)) API_UNAVAILABLE(watchos);
| `- note: 'invalid' has been explicitly marked unavailable here
70 | UIKIT_EXTERN const NSTimeInterval UIMinimumKeepAliveTimeout API_DEPRECATED("Please use PushKit for VoIP applications.", ios(4.0, 13.0), tvos(9.0, 13.0)) API_UNAVAILABLE(visionos, watchos);
71 | UIKIT_EXTERN const NSTimeInterval UIApplicationBackgroundFetchIntervalMinimum API_AVAILABLE(ios(7.0), tvos(11.0)) API_UNAVAILABLE(watchos);
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:207:13: error: 'UIApplication' is unavailable in watchOS
205 | guard identifier != .invalid else { return }
206 | DispatchQueue.main.async {
207 | UIApplication.shared.endBackgroundTask(identifier)
| `- error: 'UIApplication' is unavailable in watchOS
208 | }
209 | }
/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:486:51: error: 'UIApplication' is unavailable in watchOS
484 | private func setupNotifications() {
485 | // App entering foreground - optionally auto-start
486 | NotificationCenter.default.publisher(for: UIApplication.willEnterForegroundNotification)
| `- error: 'UIApplication' is unavailable in watchOS
487 | .sink { [weak self] _ in
488 | 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:486:65: error: 'willEnterForegroundNotification' is unavailable in watchOS
484 | private func setupNotifications() {
485 | // App entering foreground - optionally auto-start
486 | NotificationCenter.default.publisher(for: UIApplication.willEnterForegroundNotification)
| `- error: 'willEnterForegroundNotification' is unavailable in watchOS
487 | .sink { [weak self] _ in
488 | 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:496:51: error: 'UIApplication' is unavailable in watchOS
494 |
495 | // App entering background - optionally auto-stop
496 | NotificationCenter.default.publisher(for: UIApplication.didEnterBackgroundNotification)
| `- error: 'UIApplication' is unavailable in watchOS
497 | .sink { [weak self] _ in
498 | 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:496:65: error: 'didEnterBackgroundNotification' is unavailable in watchOS
494 |
495 | // App entering background - optionally auto-stop
496 | NotificationCenter.default.publisher(for: UIApplication.didEnterBackgroundNotification)
| `- error: 'didEnterBackgroundNotification' is unavailable in watchOS
497 | .sink { [weak self] _ in
498 | 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:506:51: error: 'UIApplication' is unavailable in watchOS
504 |
505 | // App terminating - always try to save
506 | NotificationCenter.default.publisher(for: UIApplication.willTerminateNotification)
| `- error: 'UIApplication' is unavailable in watchOS
507 | .sink { [weak self] _ in
508 | 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:506:65: error: 'willTerminateNotification' is unavailable in watchOS
504 |
505 | // App terminating - always try to save
506 | NotificationCenter.default.publisher(for: UIApplication.willTerminateNotification)
| `- error: 'willTerminateNotification' is unavailable in watchOS
507 | .sink { [weak self] _ in
508 | 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:516:51: error: 'UIApplication' is unavailable in watchOS
514 |
515 | // Memory warning - optionally save checkpoint
516 | NotificationCenter.default.publisher(for: UIApplication.didReceiveMemoryWarningNotification)
| `- error: 'UIApplication' is unavailable in watchOS
517 | .sink { [weak self] _ in
518 | 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:516:65: error: 'didReceiveMemoryWarningNotification' is unavailable in watchOS
514 |
515 | // Memory warning - optionally save checkpoint
516 | NotificationCenter.default.publisher(for: UIApplication.didReceiveMemoryWarningNotification)
| `- error: 'didReceiveMemoryWarningNotification' is unavailable in watchOS
517 | .sink { [weak self] _ in
518 | 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:549:23: error: 'CADisplayLink' is unavailable in watchOS
547 |
548 | private func startDisplayLink() {
549 | displayLink = CADisplayLink(target: self, selector: #selector(displayLinkFired))
| `- error: 'CADisplayLink' is unavailable in watchOS
550 | displayLink?.preferredFramesPerSecond = config.captureFrameRate
551 | 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:550:22: error: 'preferredFramesPerSecond' is unavailable in watchOS
548 | private func startDisplayLink() {
549 | displayLink = CADisplayLink(target: self, selector: #selector(displayLinkFired))
550 | displayLink?.preferredFramesPerSecond = config.captureFrameRate
| `- error: 'preferredFramesPerSecond' is unavailable in watchOS
551 | displayLink?.add(to: .main, forMode: .common)
552 | }
/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:639:28: error: 'UIApplication' is unavailable in watchOS
637 |
638 | private func captureScreenshot() {
639 | guard let window = UIApplication.shared.windows.first(where: { $0.isKeyWindow }) else {
| `- error: 'UIApplication' is unavailable in watchOS
640 | return
641 | }
/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:639:49: error: 'windows' is unavailable in watchOS
637 |
638 | private func captureScreenshot() {
639 | guard let window = UIApplication.shared.windows.first(where: { $0.isKeyWindow }) else {
| `- error: 'windows' is unavailable in watchOS
640 | return
641 | }
/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:655:24: error: 'UIGraphicsImageRenderer' is unavailable in watchOS
653 | }
654 |
655 | let renderer = UIGraphicsImageRenderer(bounds: window.bounds)
| `- error: 'UIGraphicsImageRenderer' is unavailable in watchOS
656 | let image = renderer.image { context in
657 | 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:669:16: warning: value 'count' was defined but never used; consider replacing with boolean test [#NoUsage]
667 | }
668 |
669 | if let count = currentSession?.frameCount {
| `- warning: value 'count' was defined but never used; consider replacing with boolean test [#NoUsage]
670 | currentSession?.frameCount! += 1
671 | }
/Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/SessionReplayManager.swift:738:37: error: 'UITextField' is unavailable in watchOS
736 | /// `.unmaskedContent()` from revealing a view that would otherwise be masked.
737 | func isNeverUnmaskable(_ view: UIView) -> Bool {
738 | if let textField = view as? UITextField, textField.isSecureTextEntry {
| `- error: 'UITextField' is unavailable in watchOS
739 | return true
740 | }
/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:761:41: error: 'UITextField' is unavailable in watchOS
759 | // Auto-mask secure text fields (password fields)
760 | if config.autoMaskSecureTextFields {
761 | if let textField = view as? UITextField, textField.isSecureTextEntry {
| `- error: 'UITextField' is unavailable in watchOS
762 | return true
763 | }
/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:768:24: error: 'UITextField' is unavailable in watchOS
766 | // Auto-mask regular text fields
767 | if config.autoMaskTextFields {
768 | if view is UITextField || view is UITextView {
| `- error: 'UITextField' is unavailable in watchOS
769 | return true
770 | }
/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:768:47: error: 'UITextView' is unavailable in watchOS
766 | // Auto-mask regular text fields
767 | if config.autoMaskTextFields {
768 | if view is UITextField || view is UITextView {
| `- error: 'UITextView' is unavailable in watchOS
769 | return true
770 | }
/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:816:33: error: 'UILabel' is unavailable in watchOS
814 | hasher.combine(view.isHidden)
815 | hasher.combine(view.alpha)
816 | if let label = view as? UILabel {
| `- error: 'UILabel' is unavailable in watchOS
817 | hasher.combine(label.text)
818 | }
/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:860:28: error: 'UIGraphicsImageRenderer' is unavailable in watchOS
858 | height: image.size.height * config.captureScale
859 | )
860 | let renderer = UIGraphicsImageRenderer(size: newSize)
| `- error: 'UIGraphicsImageRenderer' is unavailable in watchOS
861 | scaledImage = renderer.image { _ in
862 | 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:881:24: error: 'UIDevice' is unavailable in watchOS
879 | appVersion: Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "",
880 | buildNumber: Bundle.main.infoDictionary?["CFBundleVersion"] as? String ?? "",
881 | osVersion: UIDevice.current.systemVersion,
| `- error: 'UIDevice' is unavailable in watchOS
882 | deviceModel: getDeviceModel(),
883 | 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:883:23: error: 'UIDevice' is unavailable in watchOS
881 | osVersion: UIDevice.current.systemVersion,
882 | deviceModel: getDeviceModel(),
883 | deviceId: UIDevice.current.identifierForVendor?.uuidString,
| `- error: 'UIDevice' is unavailable in watchOS
884 | locale: Locale.current.identifier,
885 | 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:965:33: error: 'UIWindow' is unavailable in watchOS
963 | // windows, additional scenes.
964 | touchWindowSubscription = NotificationCenter.default
965 | .publisher(for: UIWindow.didBecomeVisibleNotification)
| `- error: 'UIWindow' is unavailable in watchOS
966 | .compactMap { $0.object as? UIWindow }
967 | .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:965:42: error: 'didBecomeVisibleNotification' is unavailable in watchOS
963 | // windows, additional scenes.
964 | touchWindowSubscription = NotificationCenter.default
965 | .publisher(for: UIWindow.didBecomeVisibleNotification)
| `- error: 'didBecomeVisibleNotification' is unavailable in watchOS
966 | .compactMap { $0.object as? UIWindow }
967 | .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:966:45: error: 'UIWindow' is unavailable in watchOS
964 | touchWindowSubscription = NotificationCenter.default
965 | .publisher(for: UIWindow.didBecomeVisibleNotification)
966 | .compactMap { $0.object as? UIWindow }
| `- error: 'UIWindow' is unavailable in watchOS
967 | .sink { [weak self] window in
968 | 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:993:9: error: 'UIApplication' is unavailable in watchOS
991 |
992 | private func currentApplicationWindows() -> [UIWindow] {
993 | UIApplication.shared.connectedScenes
| `- error: 'UIApplication' is unavailable in watchOS
994 | .compactMap { $0 as? UIWindowScene }
995 | .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:993:30: error: 'connectedScenes' is unavailable in watchOS
991 |
992 | private func currentApplicationWindows() -> [UIWindow] {
993 | UIApplication.shared.connectedScenes
| `- error: 'connectedScenes' is unavailable in watchOS
994 | .compactMap { $0 as? UIWindowScene }
995 | .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:994:34: error: 'UIWindowScene' is unavailable in watchOS
992 | private func currentApplicationWindows() -> [UIWindow] {
993 | UIApplication.shared.connectedScenes
994 | .compactMap { $0 as? UIWindowScene }
| `- error: 'UIWindowScene' is unavailable in watchOS
995 | .flatMap { $0.windows }
996 | }
/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:1016:9: error: 'requiresExclusiveTouchType' is unavailable in watchOS
1014 | delaysTouchesBegan = false
1015 | delaysTouchesEnded = false
1016 | requiresExclusiveTouchType = false
| `- error: 'requiresExclusiveTouchType' is unavailable in watchOS
1017 | allowedTouchTypes = [
1018 | 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:1018:13: error: 'UITouch' is unavailable in watchOS
1016 | requiresExclusiveTouchType = false
1017 | allowedTouchTypes = [
1018 | UITouch.TouchType.direct,
| `- error: 'UITouch' is unavailable in watchOS
1019 | .indirect,
1020 | .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:1021:14: error: 'indirectPointer' is unavailable in watchOS
1019 | .indirect,
1020 | .pencil,
1021 | .indirectPointer
| `- error: 'indirectPointer' is unavailable in watchOS
1022 | ].map { NSNumber(value: $0.rawValue) }
1023 | 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_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
SwiftCompile normal arm64_32 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);
/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 /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
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\ NetworkInterceptor.swift /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Logging/NetworkInterceptor.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Logging/NetworkInterceptor.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile NetworkInterceptor.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_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
SwiftCompile normal arm64 Compiling\ Models.swift /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/Models.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SessionReplaySDK/Core/Models.swift (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Models.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ SessionReplaySDK (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
SwiftCompile normal arm64 (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
2026-09-27 01:33:04.165 xcodebuild[814:4725] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
2026-09-27 01:33:04.307 xcodebuild[814:4725] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
SwiftCompile normal arm64_32 (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
SwiftEmitModule normal arm64_32 Emitting\ module\ for\ SessionReplaySDK (in target 'SessionReplaySDK' from project 'SessionReplaySDK')
Building workspace SessionReplaySDK with scheme SessionReplaySDK
(3 failures)
BUILD FAILURE 6.4 watchOS