Build Information
Failed to build swiftui-loop-videoplayer, reference 1.8.8 (62468b), with Swift 6.4 for watchOS using Xcode 27.0 on 23 Sep 2026 21:53:27 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 swiftui-loop-videoplayer -destination generic/platform=watchOSBuild Log
21 |
22 | #if canImport(UIKit)
/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' declared 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' declared 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/swiftui-loop-videoplayer/protocol/view/ExtPlayerViewProtocol.swift:20:20: note: requirement 'View' declared here
18 | #if canImport(UIKit)
19 | /// Typealias for the main view on iOS, using `UIView`.
20 | associatedtype View: UIView
| `- note: requirement 'View' declared here
21 | #elseif os(macOS)
22 | /// Typealias for the main view on macOS, using `NSView`.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/player/main/ExtPlayerMultiPlatform.swift:69:35: error: cannot find type 'UIViewRepresentable' in scope
67 |
68 | #if canImport(UIKit)
69 | extension ExtPlayerMultiPlatform: UIViewRepresentable{
| `- error: cannot find type 'UIViewRepresentable' in scope
70 | /// Creates the container view with the player view and error view if needed
71 | /// - Parameter context: The context for the view
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/player/main/ExtPlayerMultiPlatform.swift:73:30: error: cannot find type 'Context' in scope
71 | /// - Parameter context: The context for the view
72 | /// - Returns: A configured UIView
73 | func makeUIView(context: Context) -> UIView {
| `- error: cannot find type 'Context' in scope
74 | let container = UIView()
75 |
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/player/main/ExtPlayerMultiPlatform.swift:73:42: error: 'UIView' is unavailable in watchOS
71 | /// - Parameter context: The context for the view
72 | /// - Returns: A configured UIView
73 | func makeUIView(context: Context) -> UIView {
| `- error: 'UIView' is unavailable in watchOS
74 | let container = UIView()
75 |
/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/swiftui-loop-videoplayer/view/player/main/ExtPlayerMultiPlatform.swift:92:50: error: cannot find type 'Context' in scope
90 | /// - uiView: The UIView to update
91 | /// - context: The context for the view
92 | func updateUIView(_ uiView: UIView, context: Context) {
| `- error: cannot find type 'Context' in scope
93 | let player = uiView.findFirstSubview(ofType: PlayerView.self)
94 |
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/player/main/ExtPlayerMultiPlatform.swift:92:33: error: 'UIView' is unavailable in watchOS
90 | /// - uiView: The UIView to update
91 | /// - context: The context for the view
92 | func updateUIView(_ uiView: UIView, context: Context) {
| `- error: 'UIView' is unavailable in watchOS
93 | let player = uiView.findFirstSubview(ofType: PlayerView.self)
94 |
/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/swiftui-loop-videoplayer/view/player/main/ExtPlayerMultiPlatform.swift:111:43: error: 'UIView' is unavailable in watchOS
109 | /// - uiView: The UIView instance being dismantled.
110 | /// - coordinator: The coordinator instance that manages interactions between SwiftUI and the UIView.
111 | static func dismantleUIView(_ uiView: UIView, coordinator: PlayerCoordinator) {
| `- error: 'UIView' is unavailable in watchOS
112 | // Called by SwiftUI when this view is removed from the hierarchy
113 | let player = uiView.findFirstSubview(ofType: PlayerView.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/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/swiftui-loop-videoplayer/view/player/main/ExtPlayerMultiPlatform.swift:74:24: error: 'UIView' is unavailable in watchOS
72 | /// - Returns: A configured UIView
73 | func makeUIView(context: Context) -> UIView {
74 | let container = UIView()
| `- error: 'UIView' is unavailable in watchOS
75 |
76 | if let player: PlayerView = makePlayerView(container){
/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.
SwiftCompile normal arm64 Compiling\ URL+.swift,\ View+.swift,\ constraintsFn.swift,\ fn+.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/URL+.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/View+.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/constraintsFn.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/View+.swift:14:30: error: 'UIView' is unavailable in watchOS
12 |
13 | /// Finds the first subview of the specified type within the view's direct children.
14 | func findFirstSubview<T: UIView>(ofType type: T.Type) -> T? {
| `- error: 'UIView' is unavailable in watchOS
15 | return subviews.compactMap { $0 as? T }.first
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: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/swiftui-loop-videoplayer/ext+/View+.swift:11:20: error: 'UIView' is unavailable in watchOS
9 | import UIKit
10 |
11 | internal extension UIView {
| `- error: 'UIView' is unavailable in watchOS
12 |
13 | /// Finds the first subview of the specified type within the view's direct children.
/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/swiftui-loop-videoplayer/fn/constraintsFn.swift:37:46: error: 'UIView' is unavailable in watchOS
35 | /// - view: The view to be constrained.
36 | /// - containerView: The container view to which the constraints are applied.
37 | func activateFullScreenConstraints(for view: UIView, in containerView: UIView) {
| `- error: 'UIView' is unavailable in watchOS
38 | view.translatesAutoresizingMaskIntoConstraints = false
39 | NSLayoutConstraint.activate([
/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/swiftui-loop-videoplayer/fn/constraintsFn.swift:37:72: error: 'UIView' is unavailable in watchOS
35 | /// - view: The view to be constrained.
36 | /// - containerView: The container view to which the constraints are applied.
37 | func activateFullScreenConstraints(for view: UIView, in containerView: UIView) {
| `- error: 'UIView' is unavailable in watchOS
38 | view.translatesAutoresizingMaskIntoConstraints = false
39 | NSLayoutConstraint.activate([
/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/swiftui-loop-videoplayer/fn/constraintsFn.swift:39:5: error: 'NSLayoutConstraint' is unavailable in watchOS
37 | func activateFullScreenConstraints(for view: UIView, in containerView: UIView) {
38 | view.translatesAutoresizingMaskIntoConstraints = false
39 | NSLayoutConstraint.activate([
| `- error: 'NSLayoutConstraint' is unavailable in watchOS
40 | view.leadingAnchor.constraint(equalTo: containerView.leadingAnchor),
41 | view.trailingAnchor.constraint(equalTo: containerView.trailingAnchor),
/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/swiftui-loop-videoplayer/fn/fn+.swift:113:87: error: cannot find type 'CIFilter' in scope
111 | ///
112 | /// - Returns: An array of CIFilter objects, including the original filters and the added brightness and contrast adjustments.
113 | func combineFilters(_ filters: [CIFilter],_ brightness: Float,_ contrast: Float) -> [CIFilter] {
| `- error: cannot find type 'CIFilter' in scope
114 | var allFilters = filters
115 | if let filter = CIFilter(name: "CIColorControls", parameters: [kCIInputBrightnessKey: brightness]) {
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:113:33: error: cannot find type 'CIFilter' in scope
111 | ///
112 | /// - Returns: An array of CIFilter objects, including the original filters and the added brightness and contrast adjustments.
113 | func combineFilters(_ filters: [CIFilter],_ brightness: Float,_ contrast: Float) -> [CIFilter] {
| `- error: cannot find type 'CIFilter' in scope
114 | var allFilters = filters
115 | if let filter = CIFilter(name: "CIColorControls", parameters: [kCIInputBrightnessKey: brightness]) {
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:133:87: error: cannot find type 'CIFilter' in scope
131 | /// The function starts by clamping the source image to ensure coordinates remain within the image bounds,
132 | /// applies each filter in the provided array, and completes by returning the modified image to the composition request.
133 | func handleVideoComposition(request: AVAsynchronousCIImageFilteringRequest, filters: [CIFilter]) {
| `- error: cannot find type 'CIFilter' in scope
134 | // Start with the source image, ensuring it's clamped to avoid any coordinate issues
135 | var currentImage = request.sourceImage.clampedToExtent()
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:133:38: error: 'AVAsynchronousCIImageFilteringRequest' is unavailable in watchOS
131 | /// The function starts by clamping the source image to ensure coordinates remain within the image bounds,
132 | /// applies each filter in the provided array, and completes by returning the modified image to the composition request.
133 | func handleVideoComposition(request: AVAsynchronousCIImageFilteringRequest, filters: [CIFilter]) {
| `- error: 'AVAsynchronousCIImageFilteringRequest' is unavailable in watchOS
134 | // Start with the source image, ensuring it's clamped to avoid any coordinate issues
135 | var currentImage = request.sourceImage.clampedToExtent()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVVideoCompositing.h:332:12: note: 'AVAsynchronousCIImageFilteringRequest' has been explicitly marked unavailable here
330 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
331 | #endif
332 | @interface AVAsynchronousCIImageFilteringRequest : NSObject <NSCopying> {
| `- note: 'AVAsynchronousCIImageFilteringRequest' has been explicitly marked unavailable here
333 | @private
334 | AVAsynchronousCIImageFilteringRequestInternal *_internal;
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/URL+.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile URL+.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/View+.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile View+.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/constraintsFn.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile constraintsFn.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile fn+.swift
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:115:21: error: cannot find 'CIFilter' in scope
113 | func combineFilters(_ filters: [CIFilter],_ brightness: Float,_ contrast: Float) -> [CIFilter] {
114 | var allFilters = filters
115 | if let filter = CIFilter(name: "CIColorControls", parameters: [kCIInputBrightnessKey: brightness]) {
| `- error: cannot find 'CIFilter' in scope
116 | allFilters.append(filter)
117 | }
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:115:68: error: cannot find 'kCIInputBrightnessKey' in scope
113 | func combineFilters(_ filters: [CIFilter],_ brightness: Float,_ contrast: Float) -> [CIFilter] {
114 | var allFilters = filters
115 | if let filter = CIFilter(name: "CIColorControls", parameters: [kCIInputBrightnessKey: brightness]) {
| `- error: cannot find 'kCIInputBrightnessKey' in scope
116 | allFilters.append(filter)
117 | }
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:118:21: error: cannot find 'CIFilter' in scope
116 | allFilters.append(filter)
117 | }
118 | if let filter = CIFilter(name: "CIColorControls", parameters: [kCIInputContrastKey: contrast]) {
| `- error: cannot find 'CIFilter' in scope
119 | allFilters.append(filter)
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:118:68: error: cannot find 'kCIInputContrastKey' in scope
116 | allFilters.append(filter)
117 | }
118 | if let filter = CIFilter(name: "CIColorControls", parameters: [kCIInputContrastKey: contrast]) {
| `- error: cannot find 'kCIInputContrastKey' in scope
119 | allFilters.append(filter)
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:135:32: error: value of type 'AVAsynchronousCIImageFilteringRequest' has no member 'sourceImage'
133 | func handleVideoComposition(request: AVAsynchronousCIImageFilteringRequest, filters: [CIFilter]) {
134 | // Start with the source image, ensuring it's clamped to avoid any coordinate issues
135 | var currentImage = request.sourceImage.clampedToExtent()
| `- error: value of type 'AVAsynchronousCIImageFilteringRequest' has no member 'sourceImage'
136 |
137 | // Apply each filter in the array to the image
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVVideoCompositing.h:344:1: note: property 'sourceImage' unavailable (cannot import)
321 |
322 | @class AVAsynchronousCIImageFilteringRequestInternal;
323 | @class CIImage;
| `- note: interface 'CIImage' forward declared here
324 | @class CIContext;
325 |
:
342 |
343 | /// CIImage for the first enabled source video track. Unlike AVAsynchronousVideoCompositionRequest, renderContext.renderTransform is already applied to the source image.
344 | @property (nonatomic, readonly) CIImage *sourceImage;
| |- note: property 'sourceImage' unavailable (cannot import)
| `- note: interface 'CIImage' is incomplete
345 |
346 | ///Callback the filter should call when filtering succeeded. If context is nil then a default context will be used, GPU-accelerated if possible.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:139:47: error: cannot find 'kCIInputImageKey' in scope
137 | // Apply each filter in the array to the image
138 | for filter in filters {
139 | filter.setValue(currentImage, forKey: kCIInputImageKey)
| `- error: cannot find 'kCIInputImageKey' in scope
140 | if let outputImage = filter.outputImage {
141 | currentImage = outputImage.clampedToExtent()
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:145:49: error: extra argument 'context' in call
143 | }
144 | // Finish the composition request by outputting the final image
145 | request.finish(with: currentImage, context: nil)
| `- error: extra argument 'context' in call
146 | }
147 |
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:145:49: error: 'nil' requires a contextual type
143 | }
144 | // Finish the composition request by outputting the final image
145 | request.finish(with: currentImage, context: nil)
| `- error: 'nil' requires a contextual type
146 | }
147 |
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:168:41: warning: 'tracks(withMediaType:)' was deprecated in watchOS 9.0: Use loadTracks(withMediaType:) instead [#DeprecatedDeclaration]
166 |
167 | // 1) Find the TEXT track in the subtitle asset
168 | guard let textTrack = subtitleAsset.tracks(withMediaType: .text).first else {
| `- warning: 'tracks(withMediaType:)' was deprecated in watchOS 9.0: Use loadTracks(withMediaType:) instead [#DeprecatedDeclaration]
169 | #if DEBUG
170 | print("No text track found in subtitle file.")
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:181:40: warning: 'tracks(withMediaType:)' was deprecated in watchOS 9.0: Use loadTracks(withMediaType:) instead [#DeprecatedDeclaration]
179 | do {
180 | // VIDEO
181 | if let videoTrack = videoAsset.tracks(withMediaType: .video).first {
| `- warning: 'tracks(withMediaType:)' was deprecated in watchOS 9.0: Use loadTracks(withMediaType:) instead [#DeprecatedDeclaration]
182 | let compVideoTrack = composition.addMutableTrack(
183 | withMediaType: .video,
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:187:64: warning: 'duration' was deprecated in watchOS 9.0: Use load(.duration) instead [#DeprecatedDeclaration]
185 | )
186 | try compVideoTrack?.insertTimeRange(
187 | CMTimeRange(start: .zero, duration: videoAsset.duration),
| `- warning: 'duration' was deprecated in watchOS 9.0: Use load(.duration) instead [#DeprecatedDeclaration]
188 | of: videoTrack,
189 | at: .zero
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:193:40: warning: 'tracks(withMediaType:)' was deprecated in watchOS 9.0: Use loadTracks(withMediaType:) instead [#DeprecatedDeclaration]
191 | }
192 | // AUDIO (if your video has an audio track)
193 | if let audioTrack = videoAsset.tracks(withMediaType: .audio).first {
| `- warning: 'tracks(withMediaType:)' was deprecated in watchOS 9.0: Use loadTracks(withMediaType:) instead [#DeprecatedDeclaration]
194 | let compAudioTrack = composition.addMutableTrack(
195 | withMediaType: .audio,
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:199:64: warning: 'duration' was deprecated in watchOS 9.0: Use load(.duration) instead [#DeprecatedDeclaration]
197 | )
198 | try compAudioTrack?.insertTimeRange(
199 | CMTimeRange(start: .zero, duration: videoAsset.duration),
| `- warning: 'duration' was deprecated in watchOS 9.0: Use load(.duration) instead [#DeprecatedDeclaration]
200 | of: audioTrack,
201 | at: .zero
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
2026-09-23 17:53:16.181 xcodebuild[649:4199] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
SwiftCompile normal arm64 (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
SwiftEmitModule normal arm64 Emitting\ module\ for\ swiftui_loop_videoplayer (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
Building workspace swiftui-loop-videoplayer with scheme swiftui-loop-videoplayer
(3 failures)
Command line invocation:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -resolvePackageDependencies
Resolve Package Graph
Resolved source packages:
swiftui-loop-videoplayer: /Users/admin/builder/spi-builder-workspace
resolved source packages: swiftui-loop-videoplayer
2026-09-23 17:53:23.959 xcodebuild[806:4781] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
{
"dependencies" : [
],
"manifest_display_name" : "swiftui-loop-videoplayer",
"name" : "swiftui-loop-videoplayer",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "tvos",
"version" : "14.0"
}
],
"products" : [
{
"name" : "swiftui-loop-videoplayer",
"targets" : [
"swiftui-loop-videoplayer"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "swiftui_loop_videoplayerTests",
"module_type" : "SwiftTarget",
"name" : "swiftui-loop-videoplayerTests",
"path" : "Tests/swiftui-loop-videoplayerTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/swiftui-loop-videoplayerTests/Resources/swipe.mp4",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"ext+/testURL.swift",
"ext+/textArray.swift",
"testPlaybackCommandChangesOverTime.swift",
"testPlayerInitialization.swift"
],
"target_dependencies" : [
"swiftui-loop-videoplayer"
],
"type" : "test"
},
{
"c99name" : "swiftui_loop_videoplayer",
"module_type" : "SwiftTarget",
"name" : "swiftui-loop-videoplayer",
"path" : "Sources/swiftui-loop-videoplayer",
"product_memberships" : [
"swiftui-loop-videoplayer"
],
"sources" : [
"ExtVideoPlayer.swift",
"enum/PlaybackCommand.swift",
"enum/PlayerEvent.swift",
"enum/PlayerEventFilter.swift",
"enum/Setting.swift",
"enum/VPErrors.swift",
"ext+/Array+.swift",
"ext+/CMTime+.swift",
"ext+/URL+.swift",
"ext+/View+.swift",
"fn/constraintsFn.swift",
"fn/fn+.swift",
"protocol/helpers/CustomView.swift",
"protocol/helpers/PlayerDelegateProtocol.swift",
"protocol/helpers/SettingsConvertible.swift",
"protocol/player/AbstractPlayer.swift",
"protocol/player/ExtPlayerProtocol.swift",
"protocol/vector/ShapeLayerBuilderProtocol.swift",
"protocol/vector/VectorLayerProtocol.swift",
"protocol/view/ExtPlayerViewProtocol.swift",
"settings/EnableVector.swift",
"settings/Events.swift",
"settings/Ext.swift",
"settings/Gravity.swift",
"settings/Loop.swift",
"settings/Mute.swift",
"settings/NotAutoPlay.swift",
"settings/PictureInPicture .swift",
"settings/SourceName.swift",
"settings/Subtitles.swift",
"settings/TimePublishing.swift",
"utils/SettingsBuilder.swift",
"utils/VideoSettings.swift",
"view/helpers/PlayerCoordinator.swift",
"view/modifier/OnPlayerEventChangeModifier.swift",
"view/modifier/OnTimeChangeModifier.swift",
"view/player/ios/ExtPlayerUIView.swift",
"view/player/mac/ExtPlayerNSView.swift",
"view/player/main/ExtPlayerMultiPlatform.swift"
],
"type" : "library"
}
],
"tools_version" : "5.6"
}
{
"workspace" : {
"name" : "swiftui-loop-videoplayer",
"schemes" : [
"swiftui-loop-videoplayer"
]
}
}
2026-09-23 17:53:25.174 xcodebuild[814:4848] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme swiftui-loop-videoplayer -destination generic/platform=watchOS
Command line invocation:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/usr/bin/xcodebuild -IDEClonedSourcePackagesDirPathOverride=/Users/admin/builder/spi-builder-workspace/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath /Users/admin/builder/spi-builder-workspace/.derivedData build -scheme swiftui-loop-videoplayer -destination generic/platform=watchOS
Resolve Package Graph
Resolved source packages:
swiftui-loop-videoplayer: /Users/admin/builder/spi-builder-workspace
ComputePackagePrebuildTargetDependencyGraph
Prepare packages
CreateBuildRequest
SendProjectDescription
CreateBuildOperation
ComputeTargetDependencyGraph
note: Building targets in dependency order
note: Target dependency graph (2 targets)
Target 'swiftui-loop-videoplayer-product' in project 'swiftui-loop-videoplayer'
➜ Explicit dependency on target 'swiftui-loop-videoplayer' in project 'swiftui-loop-videoplayer'
Target 'swiftui-loop-videoplayer' in project 'swiftui-loop-videoplayer' (no dependencies)
GatherProvisioningInputs
CreateBuildDescription
ClangStatCache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang-stat-cache /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -o /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache
SwiftDriver swiftui-loop-videoplayer normal arm64 com.apple.xcode.tools.swift.compiler (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftDriver -- /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -parse-as-library -module-name swiftui_loop_videoplayer -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64/swiftui-loop-videoplayer.SwiftFileList -DSWIFT_PACKAGE -DDEBUG -DSWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -DXcode -plugin-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins/testing -enable-experimental-feature DebugDescriptionMacro -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -target arm64-apple-watchos9.0 -g -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -profile-coverage-mapping -profile-generate -enable-testing -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -swift-version 5 -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -c -j10 -enable-batch-mode -incremental -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64/swiftui-loop-videoplayer-OutputFileMap.json -save-temps -no-color-diagnostics -explicit-module-build -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -clang-scanner-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -sdk-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules -emit-dependencies -emit-module -emit-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64/swiftui_loop_videoplayer.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64/swiftui_loop_videoplayer-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64/swiftui-loop-videoplayer_const_extract_protocols.json -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -emit-objc-header -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64/swiftui-loop-videoplayer-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftDriver swiftui-loop-videoplayer normal arm64_32 com.apple.xcode.tools.swift.compiler (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftDriver -- /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc -parse-as-library -module-name swiftui_loop_videoplayer -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64_32/swiftui-loop-videoplayer.SwiftFileList -DSWIFT_PACKAGE -DDEBUG -DSWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -DXcode -plugin-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/plugins/testing -enable-experimental-feature DebugDescriptionMacro -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -target arm64_32-apple-watchos9.0 -g -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -Xfrontend -serialize-debugging-options -profile-coverage-mapping -profile-generate -enable-testing -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -swift-version 5 -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -c -j10 -enable-batch-mode -incremental -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64_32/swiftui-loop-videoplayer-OutputFileMap.json -save-temps -no-color-diagnostics -explicit-module-build -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -clang-scanner-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex -sdk-module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules -emit-dependencies -emit-module -emit-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64_32/swiftui_loop_videoplayer.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64_32/swiftui_loop_videoplayer-dependency-scan.dia -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64_32/swiftui-loop-videoplayer_const_extract_protocols.json -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/DerivedSources-normal/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/DerivedSources/arm64_32 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -emit-objc-header -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64_32/swiftui-loop-videoplayer-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftCompile normal arm64 Compiling\ URL+.swift,\ View+.swift,\ constraintsFn.swift,\ fn+.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/URL+.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/View+.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/constraintsFn.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/View+.swift:14:30: error: 'UIView' is unavailable in watchOS
12 |
13 | /// Finds the first subview of the specified type within the view's direct children.
14 | func findFirstSubview<T: UIView>(ofType type: T.Type) -> T? {
| `- error: 'UIView' is unavailable in watchOS
15 | return subviews.compactMap { $0 as? T }.first
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: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/swiftui-loop-videoplayer/ext+/View+.swift:11:20: error: 'UIView' is unavailable in watchOS
9 | import UIKit
10 |
11 | internal extension UIView {
| `- error: 'UIView' is unavailable in watchOS
12 |
13 | /// Finds the first subview of the specified type within the view's direct children.
/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/swiftui-loop-videoplayer/fn/constraintsFn.swift:37:46: error: 'UIView' is unavailable in watchOS
35 | /// - view: The view to be constrained.
36 | /// - containerView: The container view to which the constraints are applied.
37 | func activateFullScreenConstraints(for view: UIView, in containerView: UIView) {
| `- error: 'UIView' is unavailable in watchOS
38 | view.translatesAutoresizingMaskIntoConstraints = false
39 | NSLayoutConstraint.activate([
/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/swiftui-loop-videoplayer/fn/constraintsFn.swift:37:72: error: 'UIView' is unavailable in watchOS
35 | /// - view: The view to be constrained.
36 | /// - containerView: The container view to which the constraints are applied.
37 | func activateFullScreenConstraints(for view: UIView, in containerView: UIView) {
| `- error: 'UIView' is unavailable in watchOS
38 | view.translatesAutoresizingMaskIntoConstraints = false
39 | NSLayoutConstraint.activate([
/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/swiftui-loop-videoplayer/fn/constraintsFn.swift:39:5: error: 'NSLayoutConstraint' is unavailable in watchOS
37 | func activateFullScreenConstraints(for view: UIView, in containerView: UIView) {
38 | view.translatesAutoresizingMaskIntoConstraints = false
39 | NSLayoutConstraint.activate([
| `- error: 'NSLayoutConstraint' is unavailable in watchOS
40 | view.leadingAnchor.constraint(equalTo: containerView.leadingAnchor),
41 | view.trailingAnchor.constraint(equalTo: containerView.trailingAnchor),
/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/swiftui-loop-videoplayer/fn/fn+.swift:113:87: error: cannot find type 'CIFilter' in scope
111 | ///
112 | /// - Returns: An array of CIFilter objects, including the original filters and the added brightness and contrast adjustments.
113 | func combineFilters(_ filters: [CIFilter],_ brightness: Float,_ contrast: Float) -> [CIFilter] {
| `- error: cannot find type 'CIFilter' in scope
114 | var allFilters = filters
115 | if let filter = CIFilter(name: "CIColorControls", parameters: [kCIInputBrightnessKey: brightness]) {
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:113:33: error: cannot find type 'CIFilter' in scope
111 | ///
112 | /// - Returns: An array of CIFilter objects, including the original filters and the added brightness and contrast adjustments.
113 | func combineFilters(_ filters: [CIFilter],_ brightness: Float,_ contrast: Float) -> [CIFilter] {
| `- error: cannot find type 'CIFilter' in scope
114 | var allFilters = filters
115 | if let filter = CIFilter(name: "CIColorControls", parameters: [kCIInputBrightnessKey: brightness]) {
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:133:87: error: cannot find type 'CIFilter' in scope
131 | /// The function starts by clamping the source image to ensure coordinates remain within the image bounds,
132 | /// applies each filter in the provided array, and completes by returning the modified image to the composition request.
133 | func handleVideoComposition(request: AVAsynchronousCIImageFilteringRequest, filters: [CIFilter]) {
| `- error: cannot find type 'CIFilter' in scope
134 | // Start with the source image, ensuring it's clamped to avoid any coordinate issues
135 | var currentImage = request.sourceImage.clampedToExtent()
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/URL+.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile URL+.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/View+.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile View+.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/constraintsFn.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile constraintsFn.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile fn+.swift
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:133:38: error: 'AVAsynchronousCIImageFilteringRequest' is unavailable in watchOS
131 | /// The function starts by clamping the source image to ensure coordinates remain within the image bounds,
132 | /// applies each filter in the provided array, and completes by returning the modified image to the composition request.
133 | func handleVideoComposition(request: AVAsynchronousCIImageFilteringRequest, filters: [CIFilter]) {
| `- error: 'AVAsynchronousCIImageFilteringRequest' is unavailable in watchOS
134 | // Start with the source image, ensuring it's clamped to avoid any coordinate issues
135 | var currentImage = request.sourceImage.clampedToExtent()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVVideoCompositing.h:332:12: note: 'AVAsynchronousCIImageFilteringRequest' has been explicitly marked unavailable here
330 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
331 | #endif
332 | @interface AVAsynchronousCIImageFilteringRequest : NSObject <NSCopying> {
| `- note: 'AVAsynchronousCIImageFilteringRequest' has been explicitly marked unavailable here
333 | @private
334 | AVAsynchronousCIImageFilteringRequestInternal *_internal;
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:115:21: error: cannot find 'CIFilter' in scope
113 | func combineFilters(_ filters: [CIFilter],_ brightness: Float,_ contrast: Float) -> [CIFilter] {
114 | var allFilters = filters
115 | if let filter = CIFilter(name: "CIColorControls", parameters: [kCIInputBrightnessKey: brightness]) {
| `- error: cannot find 'CIFilter' in scope
116 | allFilters.append(filter)
117 | }
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:115:68: error: cannot find 'kCIInputBrightnessKey' in scope
113 | func combineFilters(_ filters: [CIFilter],_ brightness: Float,_ contrast: Float) -> [CIFilter] {
114 | var allFilters = filters
115 | if let filter = CIFilter(name: "CIColorControls", parameters: [kCIInputBrightnessKey: brightness]) {
| `- error: cannot find 'kCIInputBrightnessKey' in scope
116 | allFilters.append(filter)
117 | }
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:118:21: error: cannot find 'CIFilter' in scope
116 | allFilters.append(filter)
117 | }
118 | if let filter = CIFilter(name: "CIColorControls", parameters: [kCIInputContrastKey: contrast]) {
| `- error: cannot find 'CIFilter' in scope
119 | allFilters.append(filter)
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:118:68: error: cannot find 'kCIInputContrastKey' in scope
116 | allFilters.append(filter)
117 | }
118 | if let filter = CIFilter(name: "CIColorControls", parameters: [kCIInputContrastKey: contrast]) {
| `- error: cannot find 'kCIInputContrastKey' in scope
119 | allFilters.append(filter)
120 | }
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:135:32: error: value of type 'AVAsynchronousCIImageFilteringRequest' has no member 'sourceImage'
133 | func handleVideoComposition(request: AVAsynchronousCIImageFilteringRequest, filters: [CIFilter]) {
134 | // Start with the source image, ensuring it's clamped to avoid any coordinate issues
135 | var currentImage = request.sourceImage.clampedToExtent()
| `- error: value of type 'AVAsynchronousCIImageFilteringRequest' has no member 'sourceImage'
136 |
137 | // Apply each filter in the array to the image
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVVideoCompositing.h:344:1: note: property 'sourceImage' unavailable (cannot import)
321 |
322 | @class AVAsynchronousCIImageFilteringRequestInternal;
323 | @class CIImage;
| `- note: interface 'CIImage' forward declared here
324 | @class CIContext;
325 |
:
342 |
343 | /// CIImage for the first enabled source video track. Unlike AVAsynchronousVideoCompositionRequest, renderContext.renderTransform is already applied to the source image.
344 | @property (nonatomic, readonly) CIImage *sourceImage;
| |- note: property 'sourceImage' unavailable (cannot import)
| `- note: interface 'CIImage' is incomplete
345 |
346 | ///Callback the filter should call when filtering succeeded. If context is nil then a default context will be used, GPU-accelerated if possible.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:139:47: error: cannot find 'kCIInputImageKey' in scope
137 | // Apply each filter in the array to the image
138 | for filter in filters {
139 | filter.setValue(currentImage, forKey: kCIInputImageKey)
| `- error: cannot find 'kCIInputImageKey' in scope
140 | if let outputImage = filter.outputImage {
141 | currentImage = outputImage.clampedToExtent()
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:145:49: error: extra argument 'context' in call
143 | }
144 | // Finish the composition request by outputting the final image
145 | request.finish(with: currentImage, context: nil)
| `- error: extra argument 'context' in call
146 | }
147 |
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:145:49: error: 'nil' requires a contextual type
143 | }
144 | // Finish the composition request by outputting the final image
145 | request.finish(with: currentImage, context: nil)
| `- error: 'nil' requires a contextual type
146 | }
147 |
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:168:41: warning: 'tracks(withMediaType:)' was deprecated in watchOS 9.0: Use loadTracks(withMediaType:) instead [#DeprecatedDeclaration]
166 |
167 | // 1) Find the TEXT track in the subtitle asset
168 | guard let textTrack = subtitleAsset.tracks(withMediaType: .text).first else {
| `- warning: 'tracks(withMediaType:)' was deprecated in watchOS 9.0: Use loadTracks(withMediaType:) instead [#DeprecatedDeclaration]
169 | #if DEBUG
170 | print("No text track found in subtitle file.")
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:181:40: warning: 'tracks(withMediaType:)' was deprecated in watchOS 9.0: Use loadTracks(withMediaType:) instead [#DeprecatedDeclaration]
179 | do {
180 | // VIDEO
181 | if let videoTrack = videoAsset.tracks(withMediaType: .video).first {
| `- warning: 'tracks(withMediaType:)' was deprecated in watchOS 9.0: Use loadTracks(withMediaType:) instead [#DeprecatedDeclaration]
182 | let compVideoTrack = composition.addMutableTrack(
183 | withMediaType: .video,
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:187:64: warning: 'duration' was deprecated in watchOS 9.0: Use load(.duration) instead [#DeprecatedDeclaration]
185 | )
186 | try compVideoTrack?.insertTimeRange(
187 | CMTimeRange(start: .zero, duration: videoAsset.duration),
| `- warning: 'duration' was deprecated in watchOS 9.0: Use load(.duration) instead [#DeprecatedDeclaration]
188 | of: videoTrack,
189 | at: .zero
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:193:40: warning: 'tracks(withMediaType:)' was deprecated in watchOS 9.0: Use loadTracks(withMediaType:) instead [#DeprecatedDeclaration]
191 | }
192 | // AUDIO (if your video has an audio track)
193 | if let audioTrack = videoAsset.tracks(withMediaType: .audio).first {
| `- warning: 'tracks(withMediaType:)' was deprecated in watchOS 9.0: Use loadTracks(withMediaType:) instead [#DeprecatedDeclaration]
194 | let compAudioTrack = composition.addMutableTrack(
195 | withMediaType: .audio,
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:199:64: warning: 'duration' was deprecated in watchOS 9.0: Use load(.duration) instead [#DeprecatedDeclaration]
197 | )
198 | try compAudioTrack?.insertTimeRange(
199 | CMTimeRange(start: .zero, duration: videoAsset.duration),
| `- warning: 'duration' was deprecated in watchOS 9.0: Use load(.duration) instead [#DeprecatedDeclaration]
200 | of: audioTrack,
201 | at: .zero
SwiftCompile normal arm64 Compiling\ CustomView.swift,\ PlayerDelegateProtocol.swift,\ SettingsConvertible.swift,\ AbstractPlayer.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/helpers/CustomView.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/helpers/PlayerDelegateProtocol.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/helpers/SettingsConvertible.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/helpers/CustomView.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile CustomView.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/helpers/PlayerDelegateProtocol.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile PlayerDelegateProtocol.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/helpers/SettingsConvertible.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SettingsConvertible.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AbstractPlayer.swift
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:42:19: error: cannot find type 'CIFilter' in scope
40 |
41 | /// Holds an array of CIFilters to be applied to the video. Filters are applied in the order they are added to the array.
42 | var filters: [CIFilter] { get set }
| `- error: cannot find type 'CIFilter' in scope
43 |
44 | /// The looper responsible for continuous video playback.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:45:23: error: 'AVPlayerLooper' is unavailable in watchOS
43 |
44 | /// The looper responsible for continuous video playback.
45 | var playerLooper: AVPlayerLooper? { get set }
| `- error: 'AVPlayerLooper' is unavailable in watchOS
46 |
47 | /// The queue player that plays the video items.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerLooper.h:91:12: note: 'AVPlayerLooper' has been explicitly marked unavailable here
89 | NS_SWIFT_SENDABLE
90 | API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), visionos(1.0)) API_UNAVAILABLE(watchos)
91 | @interface AVPlayerLooper : NSObject
| `- note: 'AVPlayerLooper' has been explicitly marked unavailable here
92 | {
93 | @private
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:124:31: error: cannot find type 'CIFilter' in scope
122 |
123 | /// Applies a Core Image filter to the video player's content.
124 | func applyFilter(_ value: CIFilter, _ clear : Bool)
| `- error: cannot find type 'CIFilter' in scope
125 |
126 | /// Removes all filters from the video playback.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:366:31: error: cannot find type 'CIFilter' in scope
364 | /// This function adds the provided filter to the stack of existing filters and updates the video composition accordingly.
365 | /// - Parameter value: A `CIFilter` object representing the filter to be applied to the video playback.
366 | func applyFilter(_ value: CIFilter, _ clear : Bool) {
| `- error: cannot find type 'CIFilter' in scope
367 | if clear{
368 | removeAllFilters(apply: false)
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:377:40: error: cannot find type 'CIFilter' in scope
375 | /// - Parameters:
376 | /// - value: Core Image filter to be applied.
377 | private func appendFilter(_ value: CIFilter) {
| `- error: cannot find type 'CIFilter' in scope
378 | filters.append(value)
379 | }
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:294:41: warning: 'mediaSelectionGroup(forMediaCharacteristic:)' was deprecated in watchOS 9.0: Use loadMediaSelectionGroup(for:) instead [#DeprecatedDeclaration]
292 | #if !os(visionOS)
293 | guard let currentItem = currentItem,
294 | let group = currentAsset?.mediaSelectionGroup(forMediaCharacteristic: .legible) else {
| `- warning: 'mediaSelectionGroup(forMediaCharacteristic:)' was deprecated in watchOS 9.0: Use loadMediaSelectionGroup(for:) instead [#DeprecatedDeclaration]
295 | return
296 | }
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:302:31: warning: 'languageCode' was deprecated in watchOS 9: renamed to 'language.languageCode.identifier' [#DeprecatedDeclaration]
300 | let options = group.options.filter { option in
301 | guard let locale = option.locale else { return false }
302 | return locale.languageCode == language
| |- warning: 'languageCode' was deprecated in watchOS 9: renamed to 'language.languageCode.identifier' [#DeprecatedDeclaration]
| `- note: use 'language.languageCode.identifier' instead
303 | }
304 | // Select the first matching subtitle option
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:332:24: error: 'AVPlayerLooper' is unavailable in watchOS
330 | }
331 |
332 | playerLooper = AVPlayerLooper(player: player, templateItem: currentItem)
| `- error: 'AVPlayerLooper' is unavailable in watchOS
333 | }
334 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerLooper.h:91:12: note: 'AVPlayerLooper' has been explicitly marked unavailable here
89 | NS_SWIFT_SENDABLE
90 | API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), visionos(1.0)) API_UNAVAILABLE(watchos)
91 | @interface AVPlayerLooper : NSObject
| `- note: 'AVPlayerLooper' has been explicitly marked unavailable here
92 | {
93 | @private
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:113:87: error: cannot find type 'CIFilter' in scope
111 | ///
112 | /// - Returns: An array of CIFilter objects, including the original filters and the added brightness and contrast adjustments.
113 | func combineFilters(_ filters: [CIFilter],_ brightness: Float,_ contrast: Float) -> [CIFilter] {
| `- error: cannot find type 'CIFilter' in scope
114 | var allFilters = filters
115 | if let filter = CIFilter(name: "CIColorControls", parameters: [kCIInputBrightnessKey: brightness]) {
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:113:33: error: cannot find type 'CIFilter' in scope
111 | ///
112 | /// - Returns: An array of CIFilter objects, including the original filters and the added brightness and contrast adjustments.
113 | func combineFilters(_ filters: [CIFilter],_ brightness: Float,_ contrast: Float) -> [CIFilter] {
| `- error: cannot find type 'CIFilter' in scope
114 | var allFilters = filters
115 | if let filter = CIFilter(name: "CIColorControls", parameters: [kCIInputBrightnessKey: brightness]) {
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:133:87: error: cannot find type 'CIFilter' in scope
131 | /// The function starts by clamping the source image to ensure coordinates remain within the image bounds,
132 | /// applies each filter in the provided array, and completes by returning the modified image to the composition request.
133 | func handleVideoComposition(request: AVAsynchronousCIImageFilteringRequest, filters: [CIFilter]) {
| `- error: cannot find type 'CIFilter' in scope
134 | // Start with the source image, ensuring it's clamped to avoid any coordinate issues
135 | var currentImage = request.sourceImage.clampedToExtent()
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:439:38: warning: 'mediaSelectionGroup(forMediaCharacteristic:)' was deprecated in watchOS 9.0: Use loadMediaSelectionGroup(for:) instead [#DeprecatedDeclaration]
437 | #if !os(visionOS)
438 | // Retrieve the media selection group for audible tracks
439 | if let group = currentAsset?.mediaSelectionGroup(forMediaCharacteristic: .audible) {
| `- warning: 'mediaSelectionGroup(forMediaCharacteristic:)' was deprecated in watchOS 9.0: Use loadMediaSelectionGroup(for:) instead [#DeprecatedDeclaration]
440 |
441 | // Filter options by language code using Locale
SwiftCompile normal arm64 Compiling\ Setting.swift,\ VPErrors.swift,\ Array+.swift,\ CMTime+.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/Setting.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/VPErrors.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/Array+.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/CMTime+.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/Setting.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Setting.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/VPErrors.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile VPErrors.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/Array+.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Array+.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/CMTime+.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile CMTime+.swift
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/Setting.swift:53:25: error: cannot find type 'CMTime' in scope
51 |
52 | /// Defines the interval at which the player's current time should be published.
53 | case timePublishing(CMTime)
| `- error: cannot find type 'CMTime' in scope
54 |
55 | /// Sets the video gravity (e.g., aspect fit, aspect fill).
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/Setting.swift:56:18: error: cannot find type 'AVLayerVideoGravity' in scope
54 |
55 | /// Sets the video gravity (e.g., aspect fit, aspect fill).
56 | case gravity(AVLayerVideoGravity = .resizeAspect)
| `- error: cannot find type 'AVLayerVideoGravity' in scope
57 |
58 | /// Retrieves the name of the current case.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/Setting.swift:17:13: error: type 'Setting' does not conform to protocol 'Equatable'
15 | /// These settings control various playback and UI behaviors.
16 | @available(iOS 14.0, macOS 11.0, tvOS 14.0, *)
17 | public enum Setting: Equatable, SettingsConvertible {
| |- error: type 'Setting' does not conform to protocol 'Equatable'
| `- note: add stubs for conformance
18 |
19 | /// Converts the current setting into an array containing itself.
:
51 |
52 | /// Defines the interval at which the player's current time should be published.
53 | case timePublishing(CMTime)
| `- note: associated value type '_' does not conform to protocol 'Equatable', preventing synthesized conformance of 'Setting' to 'Equatable'
54 |
55 | /// Sets the video gravity (e.g., aspect fit, aspect fill).
56 | case gravity(AVLayerVideoGravity = .resizeAspect)
| `- note: associated value type '_' does not conform to protocol 'Equatable', preventing synthesized conformance of 'Setting' to 'Equatable'
57 |
58 | /// Retrieves the name of the current case.
Swift.==:1:24: note: candidate would match if 'Setting' conformed to 'RawRepresentable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate would match if 'Setting' conformed to 'RawRepresentable'
Swift.FloatingPoint.==:2:20: note: candidate would match if 'Setting' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
| `- note: candidate would match if 'Setting' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'Setting' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
| `- note: candidate would match if 'Setting' conformed to 'BinaryInteger'
3 |
Swift._Pointer.==:2:20: note: candidate would match if 'Setting' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
| `- note: candidate would match if 'Setting' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'Setting' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
| `- note: candidate would match if 'Setting' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'Setting' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
| `- note: candidate would match if 'Setting' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'Setting' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
| `- note: candidate would match if 'Setting' conformed to 'StringProtocol'
3 |
Swift.SIMD.==:2:20: note: candidate would match if 'Setting' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
| `- note: candidate would match if 'Setting' conformed to 'SIMD'
3 |
Foundation.AttributedStringProtocol.==:2:20: note: candidate would match if 'Setting' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
| `- note: candidate would match if 'Setting' conformed to 'AttributedStringProtocol'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'Setting' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
| `- note: candidate would match if 'Setting' conformed to '_BridgedStoredNSError'
3 |
CoreFoundation._CFObject.==:2:20: note: candidate would match if 'Setting' conformed to '_CFObject'
1 | protocol _CFObject {
2 | public static func == (left: Self, right: Self) -> Bool}
| `- note: candidate would match if 'Setting' conformed to '_CFObject'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(borrowing Setting, borrowing Setting) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: borrowing Self, rhs: borrowing Self) -> Bool}
| `- note: protocol requires function '==' with type '(borrowing Setting, borrowing Setting) -> Bool'
3 |
SwiftCompile normal arm64 Compiling\ SourceName.swift,\ Subtitles.swift,\ TimePublishing.swift,\ SettingsBuilder.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/SourceName.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Subtitles.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/TimePublishing.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/utils/SettingsBuilder.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/SourceName.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SourceName.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Subtitles.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Subtitles.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/TimePublishing.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile TimePublishing.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/utils/SettingsBuilder.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SettingsBuilder.swift
SwiftCompile normal arm64 Compiling\ ExtPlayerProtocol.swift,\ ShapeLayerBuilderProtocol.swift,\ VectorLayerProtocol.swift,\ ExtPlayerViewProtocol.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/ExtPlayerProtocol.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/vector/ShapeLayerBuilderProtocol.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/vector/VectorLayerProtocol.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/view/ExtPlayerViewProtocol.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/ExtPlayerProtocol.swift:26:20: error: 'CALayer' is unavailable in watchOS
24 | #if canImport(UIKit)
25 | /// Provides a non-optional `CALayer` for use within UIKit environments.
26 | var layer: CALayer { get }
| `- error: 'CALayer' is unavailable in watchOS
27 | #elseif canImport(AppKit)
28 | /// Provides an optional `CALayer` which can be set, and a property to indicate if the layer is wanted, for use within AppKit environments.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CALayer.h:117:12: note: 'CALayer' has been explicitly marked unavailable here
115 |
116 | API_AVAILABLE(macos(10.5), ios(2.0), tvos(9.0)) API_UNAVAILABLE(watchos)
117 | @interface CALayer : NSObject <NSSecureCoding, CAMediaTiming>
| `- note: 'CALayer' has been explicitly marked unavailable here
118 |
119 | /** Layer creation and initialization. **/
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/ExtPlayerProtocol.swift:35:22: error: 'AVPlayerLayer' is unavailable in watchOS
33 |
34 | /// Provides a `AVPlayerLayer` specific to the player implementation, applicable across all platforms.
35 | var playerLayer: AVPlayerLayer? { get set }
| `- error: 'AVPlayerLayer' is unavailable in watchOS
36 |
37 | /// An optional NSKeyValueObservation to monitor errors encountered by the video player.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerLayer.h:48:12: note: 'AVPlayerLayer' has been explicitly marked unavailable here
46 | /// important into indepedently timed subtrees of their layer trees.
47 | API_AVAILABLE(macos(10.7), ios(4.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
48 | @interface AVPlayerLayer : CALayer
| `- note: 'AVPlayerLayer' has been explicitly marked unavailable here
49 | {
50 | @private
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/utils/VideoSettings.swift:49:25: error: cannot find type 'AVLayerVideoGravity' in scope
47 |
48 | /// A structure that defines how a layer displays a player’s visual content within the layer’s bounds
49 | public let gravity: AVLayerVideoGravity
| `- error: cannot find type 'AVLayerVideoGravity' in scope
50 |
51 | /// Are the params unique
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/utils/VideoSettings.swift:46:32: error: cannot find type 'CMTime' in scope
44 | /// A CMTime value representing the interval at which the player's current time should be published.
45 | /// If set, the player will publish periodic time updates based on this interval.
46 | public let timePublishing: CMTime?
| `- error: cannot find type 'CMTime' in scope
47 |
48 | /// A structure that defines how a layer displays a player’s visual content within the layer’s bounds
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/ExtPlayerProtocol.swift:334:23: error: 'AVPlayerLayer' is unavailable in watchOS
332 | /// Add player layer
333 | func addPlayerLayer(){
334 | playerLayer = AVPlayerLayer()
| `- error: 'AVPlayerLayer' is unavailable in watchOS
335 | }
336 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerLayer.h:48:12: note: 'AVPlayerLayer' has been explicitly marked unavailable here
46 | /// important into indepedently timed subtrees of their layer trees.
47 | API_AVAILABLE(macos(10.7), ios(4.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
48 | @interface AVPlayerLayer : CALayer
| `- note: 'AVPlayerLayer' has been explicitly marked unavailable here
49 | {
50 | @private
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/PlaybackCommand.swift:81:17: error: cannot find type 'CIFilter' in scope
79 | /// - clear: A Boolean value indicating whether to clear the existing filter stack before applying this filter.
80 | /// This filter is added to the current stack of filters, allowing for multiple filters to be combined and applied sequentially, unless `clear` is true.
81 | case filter(CIFilter, clear: Bool = false)
| `- error: cannot find type 'CIFilter' in scope
82 |
83 | /// Command to remove all applied filters from the video playback.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:124:31: error: cannot find type 'CIFilter' in scope
122 |
123 | /// Applies a Core Image filter to the video player's content.
124 | func applyFilter(_ value: CIFilter, _ clear : Bool)
| `- error: cannot find type 'CIFilter' in scope
125 |
126 | /// Removes all filters from the video playback.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:366:31: error: cannot find type 'CIFilter' in scope
364 | /// This function adds the provided filter to the stack of existing filters and updates the video composition accordingly.
365 | /// - Parameter value: A `CIFilter` object representing the filter to be applied to the video playback.
366 | func applyFilter(_ value: CIFilter, _ clear : Bool) {
| `- error: cannot find type 'CIFilter' in scope
367 | if clear{
368 | removeAllFilters(apply: false)
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/vector/ShapeLayerBuilderProtocol.swift:30:67: error: 'CAShapeLayer' is unavailable in watchOS
28 | /// - Returns: A configured `CAShapeLayer`.
29 | @MainActor
30 | func build(with geometry: (frame: CGRect, bounds: CGRect)) -> CAShapeLayer
| `- error: 'CAShapeLayer' is unavailable in watchOS
31 | }
32 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAShapeLayer.h:40:12: note: 'CAShapeLayer' has been explicitly marked unavailable here
38 |
39 | API_AVAILABLE(macos(10.6), ios(3.0), tvos(9.0)) API_UNAVAILABLE(watchos)
40 | @interface CAShapeLayer : CALayer
| `- note: 'CAShapeLayer' has been explicitly marked unavailable here
41 |
42 | /* The path defining the shape to be rendered. If the path extends
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/vector/VectorLayerProtocol.swift:29:25: error: 'CALayer' is unavailable in watchOS
27 | ///
28 | /// This layer acts as a container for all vector layers added through the protocol methods.
29 | var compositeLayer: CALayer? { get set }
| `- error: 'CALayer' is unavailable in watchOS
30 |
31 | /// The frame of the composite layer.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CALayer.h:117:12: note: 'CALayer' has been explicitly marked unavailable here
115 |
116 | API_AVAILABLE(macos(10.5), ios(2.0), tvos(9.0)) API_UNAVAILABLE(watchos)
117 | @interface CALayer : NSObject <NSSecureCoding, CAMediaTiming>
| `- note: 'CALayer' has been explicitly marked unavailable here
118 |
119 | /** Layer creation and initialization. **/
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/vector/VectorLayerProtocol.swift:58:30: error: 'CALayer' is unavailable in watchOS
56 | func addCompositeLayer(_ settings: VideoSettings) {
57 | if settings.vector {
58 | compositeLayer = CALayer()
| `- error: 'CALayer' is unavailable in watchOS
59 | }
60 | }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CALayer.h:117:12: note: 'CALayer' has been explicitly marked unavailable here
115 |
116 | API_AVAILABLE(macos(10.5), ios(2.0), tvos(9.0)) API_UNAVAILABLE(watchos)
117 | @interface CALayer : NSObject <NSSecureCoding, CAMediaTiming>
| `- note: 'CALayer' has been explicitly marked unavailable here
118 |
119 | /** Layer creation and initialization. **/
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/view/ExtPlayerViewProtocol.swift:20:26: error: 'UIView' is unavailable in watchOS
18 | #if canImport(UIKit)
19 | /// Typealias for the main view on iOS, using `UIView`.
20 | associatedtype View: UIView
| `- error: 'UIView' is unavailable in watchOS
21 | #elseif os(macOS)
22 | /// Typealias for the main view on macOS, using `NSView`.
/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.
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/ExtPlayerProtocol.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ExtPlayerProtocol.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/vector/ShapeLayerBuilderProtocol.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ShapeLayerBuilderProtocol.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/vector/VectorLayerProtocol.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile VectorLayerProtocol.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/view/ExtPlayerViewProtocol.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ExtPlayerViewProtocol.swift
SwiftCompile normal arm64 Compiling\ Loop.swift,\ Mute.swift,\ NotAutoPlay.swift,\ PictureInPicture\ .swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Loop.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Mute.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/NotAutoPlay.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/PictureInPicture\ .swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/Setting.swift:53:25: error: cannot find type 'CMTime' in scope
51 |
52 | /// Defines the interval at which the player's current time should be published.
53 | case timePublishing(CMTime)
| `- error: cannot find type 'CMTime' in scope
54 |
55 | /// Sets the video gravity (e.g., aspect fit, aspect fill).
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Loop.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Loop.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Mute.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Mute.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/NotAutoPlay.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile NotAutoPlay.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/PictureInPicture\ .swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile PictureInPicture\ .swift
SwiftCompile normal arm64 Compiling\ ExtVideoPlayer.swift,\ PlaybackCommand.swift,\ PlayerEvent.swift,\ PlayerEventFilter.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ExtVideoPlayer.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/PlaybackCommand.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/PlayerEvent.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/PlayerEventFilter.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ExtVideoPlayer.swift:48:18: error: cannot find type 'AVLayerVideoGravity' in scope
46 | fileName: String,
47 | ext: String = "mp4",
48 | gravity: AVLayerVideoGravity = .resizeAspect,
| `- error: cannot find type 'AVLayerVideoGravity' in scope
49 | timePublishing : CMTime? = CMTime(seconds: 1, preferredTimescale: 600),
50 | command : Binding<PlaybackCommand> = .constant(.play)
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ExtVideoPlayer.swift:49:26: error: cannot find type 'CMTime' in scope
47 | ext: String = "mp4",
48 | gravity: AVLayerVideoGravity = .resizeAspect,
49 | timePublishing : CMTime? = CMTime(seconds: 1, preferredTimescale: 600),
| `- error: cannot find type 'CMTime' in scope
50 | command : Binding<PlaybackCommand> = .constant(.play)
51 | ) {
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/PlaybackCommand.swift:81:17: error: cannot find type 'CIFilter' in scope
79 | /// - clear: A Boolean value indicating whether to clear the existing filter stack before applying this filter.
80 | /// This filter is added to the current stack of filters, allowing for multiple filters to be combined and applied sequentially, unless `clear` is true.
81 | case filter(CIFilter, clear: Bool = false)
| `- error: cannot find type 'CIFilter' in scope
82 |
83 | /// Command to remove all applied filters from the video playback.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/utils/VideoSettings.swift:46:32: error: cannot find type 'CMTime' in scope
44 | /// A CMTime value representing the interval at which the player's current time should be published.
45 | /// If set, the player will publish periodic time updates based on this interval.
46 | public let timePublishing: CMTime?
| `- error: cannot find type 'CMTime' in scope
47 |
48 | /// A structure that defines how a layer displays a player’s visual content within the layer’s bounds
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/utils/VideoSettings.swift:49:25: error: cannot find type 'AVLayerVideoGravity' in scope
47 |
48 | /// A structure that defines how a layer displays a player’s visual content within the layer’s bounds
49 | public let gravity: AVLayerVideoGravity
| `- error: cannot find type 'AVLayerVideoGravity' in scope
50 |
51 | /// Are the params unique
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/utils/VideoSettings.swift:78:146: error: cannot find type 'CMTime' in scope
76 | ///
77 | /// All parameters must be provided, except `timePublishing`, which can be `nil`, and `enableVector`, which defaults to `false`.
78 | public init(name: String, ext: String, subtitles: String, loop: Bool, pictureInPicture: Bool, mute: Bool, notAutoPlay: Bool, timePublishing: CMTime?, gravity: AVLayerVideoGravity, enableVector : Bool = false, events : [PlayerEventFilter] = []) {
| `- error: cannot find type 'CMTime' in scope
79 | self.name = name
80 | self.ext = ext
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/utils/VideoSettings.swift:78:164: error: cannot find type 'AVLayerVideoGravity' in scope
76 | ///
77 | /// All parameters must be provided, except `timePublishing`, which can be `nil`, and `enableVector`, which defaults to `false`.
78 | public init(name: String, ext: String, subtitles: String, loop: Bool, pictureInPicture: Bool, mute: Bool, notAutoPlay: Bool, timePublishing: CMTime?, gravity: AVLayerVideoGravity, enableVector : Bool = false, events : [PlayerEventFilter] = []) {
| `- error: cannot find type 'AVLayerVideoGravity' in scope
79 | self.name = name
80 | self.ext = ext
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Gravity.swift:22:26: error: cannot find type 'AVLayerVideoGravity' in scope
20 | /// Initializes a new Gravity instance with a specified video gravity.
21 | /// - Parameter value: The `AVLayerVideoGravity` value to set.
22 | public init(_ value: AVLayerVideoGravity) { self.value = value }
| `- error: cannot find type 'AVLayerVideoGravity' in scope
23 |
24 | /// Fetch settings
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ExtVideoPlayer.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ExtVideoPlayer.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/PlaybackCommand.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile PlaybackCommand.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/PlayerEvent.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile PlayerEvent.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/PlayerEventFilter.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile PlayerEventFilter.swift
SwiftCompile normal arm64 Compiling\ EnableVector.swift,\ Events.swift,\ Ext.swift,\ Gravity.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/EnableVector.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Events.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Ext.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Gravity.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Gravity.swift:16:25: error: cannot find type 'AVLayerVideoGravity' in scope
14 |
15 | /// Holds the specific AVLayerVideoGravity setting defining how video content should align within its layer.
16 | private let value : AVLayerVideoGravity
| `- error: cannot find type 'AVLayerVideoGravity' in scope
17 |
18 | // MARK: - Life circle
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Gravity.swift:22:26: error: cannot find type 'AVLayerVideoGravity' in scope
20 | /// Initializes a new Gravity instance with a specified video gravity.
21 | /// - Parameter value: The `AVLayerVideoGravity` value to set.
22 | public init(_ value: AVLayerVideoGravity) { self.value = value }
| `- error: cannot find type 'AVLayerVideoGravity' in scope
23 |
24 | /// Fetch settings
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/EnableVector.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile EnableVector.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Events.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Events.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Ext.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Ext.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Gravity.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Gravity.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ swiftui_loop_videoplayer (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ExtVideoPlayer.swift:48:18: error: cannot find type 'AVLayerVideoGravity' in scope
46 | fileName: String,
47 | ext: String = "mp4",
48 | gravity: AVLayerVideoGravity = .resizeAspect,
| `- error: cannot find type 'AVLayerVideoGravity' in scope
49 | timePublishing : CMTime? = CMTime(seconds: 1, preferredTimescale: 600),
50 | command : Binding<PlaybackCommand> = .constant(.play)
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ExtVideoPlayer.swift:49:26: error: cannot find type 'CMTime' in scope
47 | ext: String = "mp4",
48 | gravity: AVLayerVideoGravity = .resizeAspect,
49 | timePublishing : CMTime? = CMTime(seconds: 1, preferredTimescale: 600),
| `- error: cannot find type 'CMTime' in scope
50 | command : Binding<PlaybackCommand> = .constant(.play)
51 | ) {
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/PlaybackCommand.swift:81:17: error: cannot find type 'CIFilter' in scope
79 | /// - clear: A Boolean value indicating whether to clear the existing filter stack before applying this filter.
80 | /// This filter is added to the current stack of filters, allowing for multiple filters to be combined and applied sequentially, unless `clear` is true.
81 | case filter(CIFilter, clear: Bool = false)
| `- error: cannot find type 'CIFilter' in scope
82 |
83 | /// Command to remove all applied filters from the video playback.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/utils/VideoSettings.swift:46:32: error: cannot find type 'CMTime' in scope
44 | /// A CMTime value representing the interval at which the player's current time should be published.
45 | /// If set, the player will publish periodic time updates based on this interval.
46 | public let timePublishing: CMTime?
| `- error: cannot find type 'CMTime' in scope
47 |
48 | /// A structure that defines how a layer displays a player’s visual content within the layer’s bounds
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/utils/VideoSettings.swift:49:25: error: cannot find type 'AVLayerVideoGravity' in scope
47 |
48 | /// A structure that defines how a layer displays a player’s visual content within the layer’s bounds
49 | public let gravity: AVLayerVideoGravity
| `- error: cannot find type 'AVLayerVideoGravity' in scope
50 |
51 | /// Are the params unique
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/Setting.swift:53:25: error: cannot find type 'CMTime' in scope
51 |
52 | /// Defines the interval at which the player's current time should be published.
53 | case timePublishing(CMTime)
| `- error: cannot find type 'CMTime' in scope
54 |
55 | /// Sets the video gravity (e.g., aspect fit, aspect fill).
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/Setting.swift:56:18: error: cannot find type 'AVLayerVideoGravity' in scope
54 |
55 | /// Sets the video gravity (e.g., aspect fit, aspect fill).
56 | case gravity(AVLayerVideoGravity = .resizeAspect)
| `- error: cannot find type 'AVLayerVideoGravity' in scope
57 |
58 | /// Retrieves the name of the current case.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/Setting.swift:17:13: error: type 'Setting' does not conform to protocol 'Equatable'
15 | /// These settings control various playback and UI behaviors.
16 | @available(iOS 14.0, macOS 11.0, tvOS 14.0, *)
17 | public enum Setting: Equatable, SettingsConvertible {
| |- error: type 'Setting' does not conform to protocol 'Equatable'
| `- note: add stubs for conformance
18 |
19 | /// Converts the current setting into an array containing itself.
:
51 |
52 | /// Defines the interval at which the player's current time should be published.
53 | case timePublishing(CMTime)
| `- note: associated value type '_' does not conform to protocol 'Equatable', preventing synthesized conformance of 'Setting' to 'Equatable'
54 |
55 | /// Sets the video gravity (e.g., aspect fit, aspect fill).
56 | case gravity(AVLayerVideoGravity = .resizeAspect)
| `- note: associated value type '_' does not conform to protocol 'Equatable', preventing synthesized conformance of 'Setting' to 'Equatable'
57 |
58 | /// Retrieves the name of the current case.
Swift.==:1:24: note: candidate would match if 'Setting' conformed to 'RawRepresentable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate would match if 'Setting' conformed to 'RawRepresentable'
Swift.FloatingPoint.==:2:20: note: candidate would match if 'Setting' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
| `- note: candidate would match if 'Setting' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'Setting' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
| `- note: candidate would match if 'Setting' conformed to 'BinaryInteger'
3 |
Swift._Pointer.==:2:20: note: candidate would match if 'Setting' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
| `- note: candidate would match if 'Setting' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'Setting' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
| `- note: candidate would match if 'Setting' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'Setting' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
| `- note: candidate would match if 'Setting' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'Setting' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
| `- note: candidate would match if 'Setting' conformed to 'StringProtocol'
3 |
Swift.SIMD.==:2:20: note: candidate would match if 'Setting' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
| `- note: candidate would match if 'Setting' conformed to 'SIMD'
3 |
Foundation.AttributedStringProtocol.==:2:20: note: candidate would match if 'Setting' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
| `- note: candidate would match if 'Setting' conformed to 'AttributedStringProtocol'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'Setting' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
| `- note: candidate would match if 'Setting' conformed to '_BridgedStoredNSError'
3 |
CoreFoundation._CFObject.==:2:20: note: candidate would match if 'Setting' conformed to '_CFObject'
1 | protocol _CFObject {
2 | public static func == (left: Self, right: Self) -> Bool}
| `- note: candidate would match if 'Setting' conformed to '_CFObject'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(borrowing Setting, borrowing Setting) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: borrowing Self, rhs: borrowing Self) -> Bool}
| `- note: protocol requires function '==' with type '(borrowing Setting, borrowing Setting) -> Bool'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/CMTime+.swift:13:11: error: cannot find type 'CMTime' in scope
11 |
12 | /// Extends `CMTime` to conform to the `SettingsConvertible` protocol.
13 | extension CMTime : SettingsConvertible {
| `- error: cannot find type 'CMTime' in scope
14 |
15 | /// Converts the `CMTime` instance into a settings array containing a time publishing setting.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/View+.swift:14:30: error: 'UIView' is unavailable in watchOS
12 |
13 | /// Finds the first subview of the specified type within the view's direct children.
14 | func findFirstSubview<T: UIView>(ofType type: T.Type) -> T? {
| `- error: 'UIView' is unavailable in watchOS
15 | return subviews.compactMap { $0 as? T }.first
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: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/swiftui-loop-videoplayer/ext+/View+.swift:11:20: error: 'UIView' is unavailable in watchOS
9 | import UIKit
10 |
11 | internal extension UIView {
| `- error: 'UIView' is unavailable in watchOS
12 |
13 | /// Finds the first subview of the specified type within the view's direct children.
/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/swiftui-loop-videoplayer/fn/constraintsFn.swift:37:46: error: 'UIView' is unavailable in watchOS
35 | /// - view: The view to be constrained.
36 | /// - containerView: The container view to which the constraints are applied.
37 | func activateFullScreenConstraints(for view: UIView, in containerView: UIView) {
| `- error: 'UIView' is unavailable in watchOS
38 | view.translatesAutoresizingMaskIntoConstraints = false
39 | NSLayoutConstraint.activate([
/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/swiftui-loop-videoplayer/fn/constraintsFn.swift:37:72: error: 'UIView' is unavailable in watchOS
35 | /// - view: The view to be constrained.
36 | /// - containerView: The container view to which the constraints are applied.
37 | func activateFullScreenConstraints(for view: UIView, in containerView: UIView) {
| `- error: 'UIView' is unavailable in watchOS
38 | view.translatesAutoresizingMaskIntoConstraints = false
39 | NSLayoutConstraint.activate([
/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/swiftui-loop-videoplayer/fn/fn+.swift:113:87: error: cannot find type 'CIFilter' in scope
111 | ///
112 | /// - Returns: An array of CIFilter objects, including the original filters and the added brightness and contrast adjustments.
113 | func combineFilters(_ filters: [CIFilter],_ brightness: Float,_ contrast: Float) -> [CIFilter] {
| `- error: cannot find type 'CIFilter' in scope
114 | var allFilters = filters
115 | if let filter = CIFilter(name: "CIColorControls", parameters: [kCIInputBrightnessKey: brightness]) {
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:113:33: error: cannot find type 'CIFilter' in scope
111 | ///
112 | /// - Returns: An array of CIFilter objects, including the original filters and the added brightness and contrast adjustments.
113 | func combineFilters(_ filters: [CIFilter],_ brightness: Float,_ contrast: Float) -> [CIFilter] {
| `- error: cannot find type 'CIFilter' in scope
114 | var allFilters = filters
115 | if let filter = CIFilter(name: "CIColorControls", parameters: [kCIInputBrightnessKey: brightness]) {
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:133:87: error: cannot find type 'CIFilter' in scope
131 | /// The function starts by clamping the source image to ensure coordinates remain within the image bounds,
132 | /// applies each filter in the provided array, and completes by returning the modified image to the composition request.
133 | func handleVideoComposition(request: AVAsynchronousCIImageFilteringRequest, filters: [CIFilter]) {
| `- error: cannot find type 'CIFilter' in scope
134 | // Start with the source image, ensuring it's clamped to avoid any coordinate issues
135 | var currentImage = request.sourceImage.clampedToExtent()
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:133:38: error: 'AVAsynchronousCIImageFilteringRequest' is unavailable in watchOS
131 | /// The function starts by clamping the source image to ensure coordinates remain within the image bounds,
132 | /// applies each filter in the provided array, and completes by returning the modified image to the composition request.
133 | func handleVideoComposition(request: AVAsynchronousCIImageFilteringRequest, filters: [CIFilter]) {
| `- error: 'AVAsynchronousCIImageFilteringRequest' is unavailable in watchOS
134 | // Start with the source image, ensuring it's clamped to avoid any coordinate issues
135 | var currentImage = request.sourceImage.clampedToExtent()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVVideoCompositing.h:332:12: note: 'AVAsynchronousCIImageFilteringRequest' has been explicitly marked unavailable here
330 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
331 | #endif
332 | @interface AVAsynchronousCIImageFilteringRequest : NSObject <NSCopying> {
| `- note: 'AVAsynchronousCIImageFilteringRequest' has been explicitly marked unavailable here
333 | @private
334 | AVAsynchronousCIImageFilteringRequestInternal *_internal;
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:42:19: error: cannot find type 'CIFilter' in scope
40 |
41 | /// Holds an array of CIFilters to be applied to the video. Filters are applied in the order they are added to the array.
42 | var filters: [CIFilter] { get set }
| `- error: cannot find type 'CIFilter' in scope
43 |
44 | /// The looper responsible for continuous video playback.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:45:23: error: 'AVPlayerLooper' is unavailable in watchOS
43 |
44 | /// The looper responsible for continuous video playback.
45 | var playerLooper: AVPlayerLooper? { get set }
| `- error: 'AVPlayerLooper' is unavailable in watchOS
46 |
47 | /// The queue player that plays the video items.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerLooper.h:91:12: note: 'AVPlayerLooper' has been explicitly marked unavailable here
89 | NS_SWIFT_SENDABLE
90 | API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), visionos(1.0)) API_UNAVAILABLE(watchos)
91 | @interface AVPlayerLooper : NSObject
| `- note: 'AVPlayerLooper' has been explicitly marked unavailable here
92 | {
93 | @private
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:124:31: error: cannot find type 'CIFilter' in scope
122 |
123 | /// Applies a Core Image filter to the video player's content.
124 | func applyFilter(_ value: CIFilter, _ clear : Bool)
| `- error: cannot find type 'CIFilter' in scope
125 |
126 | /// Removes all filters from the video playback.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:366:31: error: cannot find type 'CIFilter' in scope
364 | /// This function adds the provided filter to the stack of existing filters and updates the video composition accordingly.
365 | /// - Parameter value: A `CIFilter` object representing the filter to be applied to the video playback.
366 | func applyFilter(_ value: CIFilter, _ clear : Bool) {
| `- error: cannot find type 'CIFilter' in scope
367 | if clear{
368 | removeAllFilters(apply: false)
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:377:40: error: cannot find type 'CIFilter' in scope
375 | /// - Parameters:
376 | /// - value: Core Image filter to be applied.
377 | private func appendFilter(_ value: CIFilter) {
| `- error: cannot find type 'CIFilter' in scope
378 | filters.append(value)
379 | }
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/ExtPlayerProtocol.swift:26:20: error: 'CALayer' is unavailable in watchOS
24 | #if canImport(UIKit)
25 | /// Provides a non-optional `CALayer` for use within UIKit environments.
26 | var layer: CALayer { get }
| `- error: 'CALayer' is unavailable in watchOS
27 | #elseif canImport(AppKit)
28 | /// Provides an optional `CALayer` which can be set, and a property to indicate if the layer is wanted, for use within AppKit environments.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CALayer.h:117:12: note: 'CALayer' has been explicitly marked unavailable here
115 |
116 | API_AVAILABLE(macos(10.5), ios(2.0), tvos(9.0)) API_UNAVAILABLE(watchos)
117 | @interface CALayer : NSObject <NSSecureCoding, CAMediaTiming>
| `- note: 'CALayer' has been explicitly marked unavailable here
118 |
119 | /** Layer creation and initialization. **/
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/ExtPlayerProtocol.swift:35:22: error: 'AVPlayerLayer' is unavailable in watchOS
33 |
34 | /// Provides a `AVPlayerLayer` specific to the player implementation, applicable across all platforms.
35 | var playerLayer: AVPlayerLayer? { get set }
| `- error: 'AVPlayerLayer' is unavailable in watchOS
36 |
37 | /// An optional NSKeyValueObservation to monitor errors encountered by the video player.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerLayer.h:48:12: note: 'AVPlayerLayer' has been explicitly marked unavailable here
46 | /// important into indepedently timed subtrees of their layer trees.
47 | API_AVAILABLE(macos(10.7), ios(4.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
48 | @interface AVPlayerLayer : CALayer
| `- note: 'AVPlayerLayer' has been explicitly marked unavailable here
49 | {
50 | @private
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/vector/ShapeLayerBuilderProtocol.swift:30:67: error: 'CAShapeLayer' is unavailable in watchOS
28 | /// - Returns: A configured `CAShapeLayer`.
29 | @MainActor
30 | func build(with geometry: (frame: CGRect, bounds: CGRect)) -> CAShapeLayer
| `- error: 'CAShapeLayer' is unavailable in watchOS
31 | }
32 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAShapeLayer.h:40:12: note: 'CAShapeLayer' has been explicitly marked unavailable here
38 |
39 | API_AVAILABLE(macos(10.6), ios(3.0), tvos(9.0)) API_UNAVAILABLE(watchos)
40 | @interface CAShapeLayer : CALayer
| `- note: 'CAShapeLayer' has been explicitly marked unavailable here
41 |
42 | /* The path defining the shape to be rendered. If the path extends
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/vector/VectorLayerProtocol.swift:29:25: error: 'CALayer' is unavailable in watchOS
27 | ///
28 | /// This layer acts as a container for all vector layers added through the protocol methods.
29 | var compositeLayer: CALayer? { get set }
| `- error: 'CALayer' is unavailable in watchOS
30 |
31 | /// The frame of the composite layer.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CALayer.h:117:12: note: 'CALayer' has been explicitly marked unavailable here
115 |
116 | API_AVAILABLE(macos(10.5), ios(2.0), tvos(9.0)) API_UNAVAILABLE(watchos)
117 | @interface CALayer : NSObject <NSSecureCoding, CAMediaTiming>
| `- note: 'CALayer' has been explicitly marked unavailable here
118 |
119 | /** Layer creation and initialization. **/
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/view/ExtPlayerViewProtocol.swift:20:26: error: 'UIView' is unavailable in watchOS
18 | #if canImport(UIKit)
19 | /// Typealias for the main view on iOS, using `UIView`.
20 | associatedtype View: UIView
| `- error: 'UIView' is unavailable in watchOS
21 | #elseif os(macOS)
22 | /// Typealias for the main view on macOS, using `NSView`.
/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/swiftui-loop-videoplayer/protocol/view/ExtPlayerViewProtocol.swift:31:51: error: 'UIView' is unavailable in watchOS
29 | #if canImport(UIKit)
30 | /// Typealias for the player view on iOS, conforming to `LoopingPlayerProtocol` and using `UIView`.
31 | associatedtype PlayerView: ExtPlayerProtocol, UIView
| `- error: 'UIView' is unavailable in watchOS
32 | #elseif os(macOS)
33 | /// Typealias for the player view on macOS, conforming to `LoopingPlayerProtocol` and using `NSView`.
/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/swiftui-loop-videoplayer/settings/Gravity.swift:16:25: error: cannot find type 'AVLayerVideoGravity' in scope
14 |
15 | /// Holds the specific AVLayerVideoGravity setting defining how video content should align within its layer.
16 | private let value : AVLayerVideoGravity
| `- error: cannot find type 'AVLayerVideoGravity' in scope
17 |
18 | // MARK: - Life circle
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Gravity.swift:22:26: error: cannot find type 'AVLayerVideoGravity' in scope
20 | /// Initializes a new Gravity instance with a specified video gravity.
21 | /// - Parameter value: The `AVLayerVideoGravity` value to set.
22 | public init(_ value: AVLayerVideoGravity) { self.value = value }
| `- error: cannot find type 'AVLayerVideoGravity' in scope
23 |
24 | /// Fetch settings
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/utils/VideoSettings.swift:78:146: error: cannot find type 'CMTime' in scope
76 | ///
77 | /// All parameters must be provided, except `timePublishing`, which can be `nil`, and `enableVector`, which defaults to `false`.
78 | public init(name: String, ext: String, subtitles: String, loop: Bool, pictureInPicture: Bool, mute: Bool, notAutoPlay: Bool, timePublishing: CMTime?, gravity: AVLayerVideoGravity, enableVector : Bool = false, events : [PlayerEventFilter] = []) {
| `- error: cannot find type 'CMTime' in scope
79 | self.name = name
80 | self.ext = ext
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/utils/VideoSettings.swift:78:164: error: cannot find type 'AVLayerVideoGravity' in scope
76 | ///
77 | /// All parameters must be provided, except `timePublishing`, which can be `nil`, and `enableVector`, which defaults to `false`.
78 | public init(name: String, ext: String, subtitles: String, loop: Bool, pictureInPicture: Bool, mute: Bool, notAutoPlay: Bool, timePublishing: CMTime?, gravity: AVLayerVideoGravity, enableVector : Bool = false, events : [PlayerEventFilter] = []) {
| `- error: cannot find type 'AVLayerVideoGravity' in scope
79 | self.name = name
80 | self.ext = ext
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/utils/VideoSettings.swift:13:15: error: type 'VideoSettings' does not conform to protocol 'Equatable'
11 | /// Represents a structure for video settings.
12 | @available(iOS 14.0, macOS 11.0, tvOS 14.0, *)
13 | public struct VideoSettings: Equatable{
| |- error: type 'VideoSettings' does not conform to protocol 'Equatable'
| `- note: add stubs for conformance
14 |
15 | // MARK: - Public properties
:
44 | /// A CMTime value representing the interval at which the player's current time should be published.
45 | /// If set, the player will publish periodic time updates based on this interval.
46 | public let timePublishing: CMTime?
| `- note: stored property type '_' does not conform to protocol 'Equatable', preventing synthesized conformance of 'VideoSettings' to 'Equatable'
47 |
48 | /// A structure that defines how a layer displays a player’s visual content within the layer’s bounds
49 | public let gravity: AVLayerVideoGravity
| `- note: stored property type '_' does not conform to protocol 'Equatable', preventing synthesized conformance of 'VideoSettings' to 'Equatable'
50 |
51 | /// Are the params unique
Swift.==:1:24: note: candidate would match if 'VideoSettings' conformed to 'RawRepresentable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate would match if 'VideoSettings' conformed to 'RawRepresentable'
Swift.FloatingPoint.==:2:20: note: candidate would match if 'VideoSettings' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
| `- note: candidate would match if 'VideoSettings' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'VideoSettings' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
| `- note: candidate would match if 'VideoSettings' conformed to 'BinaryInteger'
3 |
Swift._Pointer.==:2:20: note: candidate would match if 'VideoSettings' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
| `- note: candidate would match if 'VideoSettings' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'VideoSettings' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
| `- note: candidate would match if 'VideoSettings' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'VideoSettings' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
| `- note: candidate would match if 'VideoSettings' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'VideoSettings' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
| `- note: candidate would match if 'VideoSettings' conformed to 'StringProtocol'
3 |
Swift.SIMD.==:2:20: note: candidate would match if 'VideoSettings' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
| `- note: candidate would match if 'VideoSettings' conformed to 'SIMD'
3 |
Foundation.AttributedStringProtocol.==:2:20: note: candidate would match if 'VideoSettings' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
| `- note: candidate would match if 'VideoSettings' conformed to 'AttributedStringProtocol'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'VideoSettings' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
| `- note: candidate would match if 'VideoSettings' conformed to '_BridgedStoredNSError'
3 |
CoreFoundation._CFObject.==:2:20: note: candidate would match if 'VideoSettings' conformed to '_CFObject'
1 | protocol _CFObject {
2 | public static func == (left: Self, right: Self) -> Bool}
| `- note: candidate would match if 'VideoSettings' conformed to '_CFObject'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(borrowing VideoSettings, borrowing VideoSettings) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: borrowing Self, rhs: borrowing Self) -> Bool}
| `- note: protocol requires function '==' with type '(borrowing VideoSettings, borrowing VideoSettings) -> Bool'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/player/ios/ExtPlayerUIView.swift:24:28: error: cannot find type 'CIFilter' in scope
22 |
23 | /// `filters` is an array that stores CIFilter objects used to apply different image processing effects
24 | internal var filters: [CIFilter] = []
| `- error: cannot find type 'CIFilter' in scope
25 |
26 | /// `brightness` represents the adjustment level for the brightness of the video content.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/player/ios/ExtPlayerUIView.swift:33:35: error: 'CALayer' is unavailable in watchOS
31 |
32 | /// A CALayer instance used for composing content, accessible only within the module.
33 | internal var compositeLayer : CALayer? = nil
| `- error: 'CALayer' is unavailable in watchOS
34 |
35 | /// The AVPlayerLayer that displays the video content.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CALayer.h:117:12: note: 'CALayer' has been explicitly marked unavailable here
115 |
116 | API_AVAILABLE(macos(10.5), ios(2.0), tvos(9.0)) API_UNAVAILABLE(watchos)
117 | @interface CALayer : NSObject <NSSecureCoding, CAMediaTiming>
| `- note: 'CALayer' has been explicitly marked unavailable here
118 |
119 | /** Layer creation and initialization. **/
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/player/ios/ExtPlayerUIView.swift:36:32: error: cannot find type 'AVPlayerLayer' in scope
34 |
35 | /// The AVPlayerLayer that displays the video content.
36 | internal var playerLayer : AVPlayerLayer? = nil
| `- error: cannot find type 'AVPlayerLayer' in scope
37 |
38 | /// The looper responsible for continuous video playback.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/player/ios/ExtPlayerUIView.swift:39:32: error: cannot find type 'AVPlayerLooper' in scope
37 |
38 | /// The looper responsible for continuous video playback.
39 | internal var playerLooper: AVPlayerLooper?
| `- error: cannot find type 'AVPlayerLooper' in scope
40 |
41 | /// The queue player that plays the video items.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/player/ios/ExtPlayerUIView.swift:42:26: error: cannot find type 'AVQueuePlayer' in scope
40 |
41 | /// The queue player that plays the video items.
42 | internal var player: AVQueuePlayer?
| `- error: cannot find type 'AVQueuePlayer' in scope
43 |
44 | /// Declare a variable to hold the time observer token outside the if statement
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/player/ios/ExtPlayerUIView.swift:69:33: error: cannot find type 'AVPictureInPictureController' in scope
67 |
68 | /// The Picture-in-Picture (PiP) controller for managing PiP functionality.
69 | internal var pipController: AVPictureInPictureController?
| `- error: cannot find type 'AVPictureInPictureController' in scope
70 |
71 | /// Initializes a new player view with a video asset and custom settings.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/player/ios/ExtPlayerUIView.swift:18:33: error: 'UIView' is unavailable in watchOS
16 |
17 | @MainActor
18 | internal class ExtPlayerUIView: UIView, ExtPlayerProtocol{
| `- error: 'UIView' is unavailable in watchOS
19 |
20 | /// This property holds an instance of `VideoSettings`
/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/swiftui-loop-videoplayer/view/player/main/ExtPlayerMultiPlatform.swift:23:22: error: 'UIView' is unavailable in watchOS
21 |
22 | #if canImport(UIKit)
23 | typealias View = UIView
| `- error: 'UIView' is unavailable in watchOS
24 |
25 | typealias PlayerView = ExtPlayerUIView
/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/swiftui-loop-videoplayer/view/player/main/ExtPlayerMultiPlatform.swift:20:17: warning: unavailable class 'UIView' was used to satisfy a requirement of protocol 'ExtPlayerViewProtocol'; this will be an error in a future Swift language mode
18 |
19 | @MainActor
20 | internal struct ExtPlayerMultiPlatform: ExtPlayerViewProtocol {
| `- warning: unavailable class 'UIView' was used to satisfy a requirement of protocol 'ExtPlayerViewProtocol'; this will be an error in a future Swift language mode
21 |
22 | #if canImport(UIKit)
/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' declared 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' declared 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/swiftui-loop-videoplayer/protocol/view/ExtPlayerViewProtocol.swift:20:20: note: requirement 'View' declared here
18 | #if canImport(UIKit)
19 | /// Typealias for the main view on iOS, using `UIView`.
20 | associatedtype View: UIView
| `- note: requirement 'View' declared here
21 | #elseif os(macOS)
22 | /// Typealias for the main view on macOS, using `NSView`.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/player/main/ExtPlayerMultiPlatform.swift:69:35: error: cannot find type 'UIViewRepresentable' in scope
67 |
68 | #if canImport(UIKit)
69 | extension ExtPlayerMultiPlatform: UIViewRepresentable{
| `- error: cannot find type 'UIViewRepresentable' in scope
70 | /// Creates the container view with the player view and error view if needed
71 | /// - Parameter context: The context for the view
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/player/main/ExtPlayerMultiPlatform.swift:73:30: error: cannot find type 'Context' in scope
71 | /// - Parameter context: The context for the view
72 | /// - Returns: A configured UIView
73 | func makeUIView(context: Context) -> UIView {
| `- error: cannot find type 'Context' in scope
74 | let container = UIView()
75 |
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/player/main/ExtPlayerMultiPlatform.swift:73:42: error: 'UIView' is unavailable in watchOS
71 | /// - Parameter context: The context for the view
72 | /// - Returns: A configured UIView
73 | func makeUIView(context: Context) -> UIView {
| `- error: 'UIView' is unavailable in watchOS
74 | let container = UIView()
75 |
/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/swiftui-loop-videoplayer/view/player/main/ExtPlayerMultiPlatform.swift:92:50: error: cannot find type 'Context' in scope
90 | /// - uiView: The UIView to update
91 | /// - context: The context for the view
92 | func updateUIView(_ uiView: UIView, context: Context) {
| `- error: cannot find type 'Context' in scope
93 | let player = uiView.findFirstSubview(ofType: PlayerView.self)
94 |
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/player/main/ExtPlayerMultiPlatform.swift:92:33: error: 'UIView' is unavailable in watchOS
90 | /// - uiView: The UIView to update
91 | /// - context: The context for the view
92 | func updateUIView(_ uiView: UIView, context: Context) {
| `- error: 'UIView' is unavailable in watchOS
93 | let player = uiView.findFirstSubview(ofType: PlayerView.self)
94 |
/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/swiftui-loop-videoplayer/view/player/main/ExtPlayerMultiPlatform.swift:111:43: error: 'UIView' is unavailable in watchOS
109 | /// - uiView: The UIView instance being dismantled.
110 | /// - coordinator: The coordinator instance that manages interactions between SwiftUI and the UIView.
111 | static func dismantleUIView(_ uiView: UIView, coordinator: PlayerCoordinator) {
| `- error: 'UIView' is unavailable in watchOS
112 | // Called by SwiftUI when this view is removed from the hierarchy
113 | let player = uiView.findFirstSubview(ofType: PlayerView.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/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.
Failed frontend command:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ExtVideoPlayer.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/PlaybackCommand.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/PlayerEvent.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/PlayerEventFilter.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/Setting.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/VPErrors.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/Array+.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/CMTime+.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/URL+.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/View+.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/constraintsFn.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/helpers/CustomView.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/helpers/PlayerDelegateProtocol.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/helpers/SettingsConvertible.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/ExtPlayerProtocol.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/vector/ShapeLayerBuilderProtocol.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/vector/VectorLayerProtocol.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/view/ExtPlayerViewProtocol.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/EnableVector.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Events.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Ext.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Gravity.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Loop.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Mute.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/NotAutoPlay.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/PictureInPicture\ .swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/SourceName.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/Subtitles.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/settings/TimePublishing.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/utils/SettingsBuilder.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/utils/VideoSettings.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/helpers/PlayerCoordinator.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/modifier/OnPlayerEventChangeModifier.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/modifier/OnTimeChangeModifier.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/player/ios/ExtPlayerUIView.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/player/mac/ExtPlayerNSView.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/view/player/main/ExtPlayerMultiPlatform.swift -target arm64-apple-watchos9.0 -module-can-import-version AVKit 1.0.0 1.0.0 -module-can-import-version QuartzCore 5 1223.0.14 -module-can-import-version UIKit 9127.0.84.1 9127.0.84 -disable-cross-import-overlay-search -swift-module-cross-import AVKit /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/AVKit.framework/Modules/AVKit.swiftcrossimport/SwiftUI.swiftoverlay -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libPreviewsMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#PreviewsMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftUIMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftUIMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64/swiftui_loop_videoplayer-dependencies-2.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -profile-generate -profile-coverage-mapping -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name swiftui_loop_videoplayer -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64/swiftui-loop-videoplayer_const_extract_protocols.json -disable-clang-spi -clang-target arm64-apple-watchos27.0 -target-sdk-version 27.0 -target-sdk-name watchos27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -emit-module-doc-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64/swiftui_loop_videoplayer.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64/swiftui_loop_videoplayer.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64/swiftui-loop-videoplayer-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64/swiftui-loop-videoplayer-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64/swiftui-loop-videoplayer-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64/swiftui_loop_videoplayer.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/swiftui-loop-videoplayer.build/Debug-watchos/swiftui-loop-videoplayer-t.build/Objects-normal/arm64/swiftui_loop_videoplayer.abi.json
SwiftCompile normal arm64 (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
SwiftEmitModule normal arm64_32 Emitting\ module\ for\ swiftui_loop_videoplayer (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ExtVideoPlayer.swift:48:18: error: cannot find type 'AVLayerVideoGravity' in scope
46 | fileName: String,
47 | ext: String = "mp4",
48 | gravity: AVLayerVideoGravity = .resizeAspect,
| `- error: cannot find type 'AVLayerVideoGravity' in scope
49 | timePublishing : CMTime? = CMTime(seconds: 1, preferredTimescale: 600),
50 | command : Binding<PlaybackCommand> = .constant(.play)
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ExtVideoPlayer.swift:49:26: error: cannot find type 'CMTime' in scope
47 | ext: String = "mp4",
48 | gravity: AVLayerVideoGravity = .resizeAspect,
49 | timePublishing : CMTime? = CMTime(seconds: 1, preferredTimescale: 600),
| `- error: cannot find type 'CMTime' in scope
50 | command : Binding<PlaybackCommand> = .constant(.play)
51 | ) {
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/PlaybackCommand.swift:81:17: error: cannot find type 'CIFilter' in scope
79 | /// - clear: A Boolean value indicating whether to clear the existing filter stack before applying this filter.
80 | /// This filter is added to the current stack of filters, allowing for multiple filters to be combined and applied sequentially, unless `clear` is true.
81 | case filter(CIFilter, clear: Bool = false)
| `- error: cannot find type 'CIFilter' in scope
82 |
83 | /// Command to remove all applied filters from the video playback.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/utils/VideoSettings.swift:46:32: error: cannot find type 'CMTime' in scope
44 | /// A CMTime value representing the interval at which the player's current time should be published.
45 | /// If set, the player will publish periodic time updates based on this interval.
46 | public let timePublishing: CMTime?
| `- error: cannot find type 'CMTime' in scope
47 |
48 | /// A structure that defines how a layer displays a player’s visual content within the layer’s bounds
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/utils/VideoSettings.swift:49:25: error: cannot find type 'AVLayerVideoGravity' in scope
47 |
48 | /// A structure that defines how a layer displays a player’s visual content within the layer’s bounds
49 | public let gravity: AVLayerVideoGravity
| `- error: cannot find type 'AVLayerVideoGravity' in scope
50 |
51 | /// Are the params unique
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/Setting.swift:53:25: error: cannot find type 'CMTime' in scope
51 |
52 | /// Defines the interval at which the player's current time should be published.
53 | case timePublishing(CMTime)
| `- error: cannot find type 'CMTime' in scope
54 |
55 | /// Sets the video gravity (e.g., aspect fit, aspect fill).
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/Setting.swift:56:18: error: cannot find type 'AVLayerVideoGravity' in scope
54 |
55 | /// Sets the video gravity (e.g., aspect fit, aspect fill).
56 | case gravity(AVLayerVideoGravity = .resizeAspect)
| `- error: cannot find type 'AVLayerVideoGravity' in scope
57 |
58 | /// Retrieves the name of the current case.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/enum/Setting.swift:17:13: error: type 'Setting' does not conform to protocol 'Equatable'
15 | /// These settings control various playback and UI behaviors.
16 | @available(iOS 14.0, macOS 11.0, tvOS 14.0, *)
17 | public enum Setting: Equatable, SettingsConvertible {
| |- error: type 'Setting' does not conform to protocol 'Equatable'
| `- note: add stubs for conformance
18 |
19 | /// Converts the current setting into an array containing itself.
:
51 |
52 | /// Defines the interval at which the player's current time should be published.
53 | case timePublishing(CMTime)
| `- note: associated value type '_' does not conform to protocol 'Equatable', preventing synthesized conformance of 'Setting' to 'Equatable'
54 |
55 | /// Sets the video gravity (e.g., aspect fit, aspect fill).
56 | case gravity(AVLayerVideoGravity = .resizeAspect)
| `- note: associated value type '_' does not conform to protocol 'Equatable', preventing synthesized conformance of 'Setting' to 'Equatable'
57 |
58 | /// Retrieves the name of the current case.
Swift.==:1:24: note: candidate would match if 'Setting' conformed to 'RawRepresentable'
1 | @inlinable public func == <T>(lhs: T, rhs: T) -> Bool where T : RawRepresentable, T.RawValue : Equatable
| `- note: candidate would match if 'Setting' conformed to 'RawRepresentable'
Swift.FloatingPoint.==:2:20: note: candidate would match if 'Setting' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
| `- note: candidate would match if 'Setting' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.==:2:20: note: candidate would match if 'Setting' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
| `- note: candidate would match if 'Setting' conformed to 'BinaryInteger'
3 |
Swift._Pointer.==:2:20: note: candidate would match if 'Setting' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
| `- note: candidate would match if 'Setting' conformed to '_Pointer'
3 |
Swift._Pointer.==:2:31: note: candidate would match if 'Setting' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
| `- note: candidate would match if 'Setting' conformed to '_Pointer'
3 |
Swift.Strideable.==:2:31: note: candidate would match if 'Setting' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func == (x: Self, y: Self) -> Bool}
| `- note: candidate would match if 'Setting' conformed to 'Strideable'
3 |
Swift.StringProtocol.==:2:31: note: candidate would match if 'Setting' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
| `- note: candidate would match if 'Setting' conformed to 'StringProtocol'
3 |
Swift.SIMD.==:2:20: note: candidate would match if 'Setting' conformed to 'SIMD'
1 | protocol SIMD {
2 | public static func == (a: Self, b: Self) -> Bool}
| `- note: candidate would match if 'Setting' conformed to 'SIMD'
3 |
Foundation.AttributedStringProtocol.==:2:20: note: candidate would match if 'Setting' conformed to 'AttributedStringProtocol'
1 | protocol AttributedStringProtocol {
2 | public static func == <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : AttributedStringProtocol}
| `- note: candidate would match if 'Setting' conformed to 'AttributedStringProtocol'
3 |
Foundation._BridgedStoredNSError.==:2:20: note: candidate would match if 'Setting' conformed to '_BridgedStoredNSError'
1 | protocol _BridgedStoredNSError {
2 | public static func == (lhs: Self, rhs: Self) -> Bool}
| `- note: candidate would match if 'Setting' conformed to '_BridgedStoredNSError'
3 |
CoreFoundation._CFObject.==:2:20: note: candidate would match if 'Setting' conformed to '_CFObject'
1 | protocol _CFObject {
2 | public static func == (left: Self, right: Self) -> Bool}
| `- note: candidate would match if 'Setting' conformed to '_CFObject'
3 |
Swift.Equatable.==:2:13: note: protocol requires function '==' with type '(borrowing Setting, borrowing Setting) -> Bool'
1 | protocol Equatable {
2 | static func == (lhs: borrowing Self, rhs: borrowing Self) -> Bool}
| `- note: protocol requires function '==' with type '(borrowing Setting, borrowing Setting) -> Bool'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/CMTime+.swift:13:11: error: cannot find type 'CMTime' in scope
11 |
12 | /// Extends `CMTime` to conform to the `SettingsConvertible` protocol.
13 | extension CMTime : SettingsConvertible {
| `- error: cannot find type 'CMTime' in scope
14 |
15 | /// Converts the `CMTime` instance into a settings array containing a time publishing setting.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/ext+/View+.swift:14:30: error: 'UIView' is unavailable in watchOS
12 |
13 | /// Finds the first subview of the specified type within the view's direct children.
14 | func findFirstSubview<T: UIView>(ofType type: T.Type) -> T? {
| `- error: 'UIView' is unavailable in watchOS
15 | return subviews.compactMap { $0 as? T }.first
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: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/swiftui-loop-videoplayer/ext+/View+.swift:11:20: error: 'UIView' is unavailable in watchOS
9 | import UIKit
10 |
11 | internal extension UIView {
| `- error: 'UIView' is unavailable in watchOS
12 |
13 | /// Finds the first subview of the specified type within the view's direct children.
/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/swiftui-loop-videoplayer/fn/constraintsFn.swift:37:46: error: 'UIView' is unavailable in watchOS
35 | /// - view: The view to be constrained.
36 | /// - containerView: The container view to which the constraints are applied.
37 | func activateFullScreenConstraints(for view: UIView, in containerView: UIView) {
| `- error: 'UIView' is unavailable in watchOS
38 | view.translatesAutoresizingMaskIntoConstraints = false
39 | NSLayoutConstraint.activate([
/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/swiftui-loop-videoplayer/fn/constraintsFn.swift:37:72: error: 'UIView' is unavailable in watchOS
35 | /// - view: The view to be constrained.
36 | /// - containerView: The container view to which the constraints are applied.
37 | func activateFullScreenConstraints(for view: UIView, in containerView: UIView) {
| `- error: 'UIView' is unavailable in watchOS
38 | view.translatesAutoresizingMaskIntoConstraints = false
39 | NSLayoutConstraint.activate([
/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/swiftui-loop-videoplayer/fn/fn+.swift:113:87: error: cannot find type 'CIFilter' in scope
111 | ///
112 | /// - Returns: An array of CIFilter objects, including the original filters and the added brightness and contrast adjustments.
113 | func combineFilters(_ filters: [CIFilter],_ brightness: Float,_ contrast: Float) -> [CIFilter] {
| `- error: cannot find type 'CIFilter' in scope
114 | var allFilters = filters
115 | if let filter = CIFilter(name: "CIColorControls", parameters: [kCIInputBrightnessKey: brightness]) {
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:113:33: error: cannot find type 'CIFilter' in scope
111 | ///
112 | /// - Returns: An array of CIFilter objects, including the original filters and the added brightness and contrast adjustments.
113 | func combineFilters(_ filters: [CIFilter],_ brightness: Float,_ contrast: Float) -> [CIFilter] {
| `- error: cannot find type 'CIFilter' in scope
114 | var allFilters = filters
115 | if let filter = CIFilter(name: "CIColorControls", parameters: [kCIInputBrightnessKey: brightness]) {
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:133:87: error: cannot find type 'CIFilter' in scope
131 | /// The function starts by clamping the source image to ensure coordinates remain within the image bounds,
132 | /// applies each filter in the provided array, and completes by returning the modified image to the composition request.
133 | func handleVideoComposition(request: AVAsynchronousCIImageFilteringRequest, filters: [CIFilter]) {
| `- error: cannot find type 'CIFilter' in scope
134 | // Start with the source image, ensuring it's clamped to avoid any coordinate issues
135 | var currentImage = request.sourceImage.clampedToExtent()
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/fn/fn+.swift:133:38: error: 'AVAsynchronousCIImageFilteringRequest' is unavailable in watchOS
131 | /// The function starts by clamping the source image to ensure coordinates remain within the image bounds,
132 | /// applies each filter in the provided array, and completes by returning the modified image to the composition request.
133 | func handleVideoComposition(request: AVAsynchronousCIImageFilteringRequest, filters: [CIFilter]) {
| `- error: 'AVAsynchronousCIImageFilteringRequest' is unavailable in watchOS
134 | // Start with the source image, ensuring it's clamped to avoid any coordinate issues
135 | var currentImage = request.sourceImage.clampedToExtent()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVVideoCompositing.h:332:12: note: 'AVAsynchronousCIImageFilteringRequest' has been explicitly marked unavailable here
330 | API_AVAILABLE(macos(10.11), ios(9.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
331 | #endif
332 | @interface AVAsynchronousCIImageFilteringRequest : NSObject <NSCopying> {
| `- note: 'AVAsynchronousCIImageFilteringRequest' has been explicitly marked unavailable here
333 | @private
334 | AVAsynchronousCIImageFilteringRequestInternal *_internal;
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:42:19: error: cannot find type 'CIFilter' in scope
40 |
41 | /// Holds an array of CIFilters to be applied to the video. Filters are applied in the order they are added to the array.
42 | var filters: [CIFilter] { get set }
| `- error: cannot find type 'CIFilter' in scope
43 |
44 | /// The looper responsible for continuous video playback.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:45:23: error: 'AVPlayerLooper' is unavailable in watchOS
43 |
44 | /// The looper responsible for continuous video playback.
45 | var playerLooper: AVPlayerLooper? { get set }
| `- error: 'AVPlayerLooper' is unavailable in watchOS
46 |
47 | /// The queue player that plays the video items.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerLooper.h:91:12: note: 'AVPlayerLooper' has been explicitly marked unavailable here
89 | NS_SWIFT_SENDABLE
90 | API_AVAILABLE(macos(10.12), ios(10.0), tvos(10.0), visionos(1.0)) API_UNAVAILABLE(watchos)
91 | @interface AVPlayerLooper : NSObject
| `- note: 'AVPlayerLooper' has been explicitly marked unavailable here
92 | {
93 | @private
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:124:31: error: cannot find type 'CIFilter' in scope
122 |
123 | /// Applies a Core Image filter to the video player's content.
124 | func applyFilter(_ value: CIFilter, _ clear : Bool)
| `- error: cannot find type 'CIFilter' in scope
125 |
126 | /// Removes all filters from the video playback.
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:366:31: error: cannot find type 'CIFilter' in scope
364 | /// This function adds the provided filter to the stack of existing filters and updates the video composition accordingly.
365 | /// - Parameter value: A `CIFilter` object representing the filter to be applied to the video playback.
366 | func applyFilter(_ value: CIFilter, _ clear : Bool) {
| `- error: cannot find type 'CIFilter' in scope
367 | if clear{
368 | removeAllFilters(apply: false)
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/AbstractPlayer.swift:377:40: error: cannot find type 'CIFilter' in scope
375 | /// - Parameters:
376 | /// - value: Core Image filter to be applied.
377 | private func appendFilter(_ value: CIFilter) {
| `- error: cannot find type 'CIFilter' in scope
378 | filters.append(value)
379 | }
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/ExtPlayerProtocol.swift:26:20: error: 'CALayer' is unavailable in watchOS
24 | #if canImport(UIKit)
25 | /// Provides a non-optional `CALayer` for use within UIKit environments.
26 | var layer: CALayer { get }
| `- error: 'CALayer' is unavailable in watchOS
27 | #elseif canImport(AppKit)
28 | /// Provides an optional `CALayer` which can be set, and a property to indicate if the layer is wanted, for use within AppKit environments.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CALayer.h:117:12: note: 'CALayer' has been explicitly marked unavailable here
115 |
116 | API_AVAILABLE(macos(10.5), ios(2.0), tvos(9.0)) API_UNAVAILABLE(watchos)
117 | @interface CALayer : NSObject <NSSecureCoding, CAMediaTiming>
| `- note: 'CALayer' has been explicitly marked unavailable here
118 |
119 | /** Layer creation and initialization. **/
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/ExtPlayerProtocol.swift:35:22: error: 'AVPlayerLayer' is unavailable in watchOS
33 |
34 | /// Provides a `AVPlayerLayer` specific to the player implementation, applicable across all platforms.
35 | var playerLayer: AVPlayerLayer? { get set }
| `- error: 'AVPlayerLayer' is unavailable in watchOS
36 |
37 | /// An optional NSKeyValueObservation to monitor errors encountered by the video player.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVPlayerLayer.h:48:12: note: 'AVPlayerLayer' has been explicitly marked unavailable here
46 | /// important into indepedently timed subtrees of their layer trees.
47 | API_AVAILABLE(macos(10.7), ios(4.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
48 | @interface AVPlayerLayer : CALayer
| `- note: 'AVPlayerLayer' has been explicitly marked unavailable here
49 | {
50 | @private
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/vector/ShapeLayerBuilderProtocol.swift:30:67: error: 'CAShapeLayer' is unavailable in watchOS
28 | /// - Returns: A configured `CAShapeLayer`.
29 | @MainActor
30 | func build(with geometry: (frame: CGRect, bounds: CGRect)) -> CAShapeLayer
| `- error: 'CAShapeLayer' is unavailable in watchOS
31 | }
32 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CAShapeLayer.h:40:12: note: 'CAShapeLayer' has been explicitly marked unavailable here
38 |
39 | API_AVAILABLE(macos(10.6), ios(3.0), tvos(9.0)) API_UNAVAILABLE(watchos)
40 | @interface CAShapeLayer : CALayer
| `- note: 'CAShapeLayer' has been explicitly marked unavailable here
41 |
42 | /* The path defining the shape to be rendered. If the path extends
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/vector/VectorLayerProtocol.swift:29:25: error: 'CALayer' is unavailable in watchOS
27 | ///
28 | /// This layer acts as a container for all vector layers added through the protocol methods.
29 | var compositeLayer: CALayer? { get set }
| `- error: 'CALayer' is unavailable in watchOS
30 |
31 | /// The frame of the composite layer.
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CALayer.h:117:12: note: 'CALayer' has been explicitly marked unavailable here
115 |
116 | API_AVAILABLE(macos(10.5), ios(2.0), tvos(9.0)) API_UNAVAILABLE(watchos)
117 | @interface CALayer : NSObject <NSSecureCoding, CAMediaTiming>
| `- note: 'CALayer' has been explicitly marked unavailable here
118 |
119 | /** Layer creation and initialization. **/
/Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/view/ExtPlayerViewProtocol.swift:20:26: error: 'UIView' is unavailable in watchOS
18 | #if canImport(UIKit)
19 | /// Typealias for the main view on iOS, using `UIView`.
20 | associatedtype View: UIView
| `- error: 'UIView' is unavailable in watchOS
21 | #elseif os(macOS)
22 | /// Typealias for the main view on macOS, using `NSView`.
/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.
SwiftCompile normal arm64_32 (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
SwiftCompile normal arm64_32 Compiling\ ExtPlayerProtocol.swift,\ ShapeLayerBuilderProtocol.swift,\ VectorLayerProtocol.swift,\ ExtPlayerViewProtocol.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/ExtPlayerProtocol.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/vector/ShapeLayerBuilderProtocol.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/vector/VectorLayerProtocol.swift /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/view/ExtPlayerViewProtocol.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/player/ExtPlayerProtocol.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ExtPlayerProtocol.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/vector/ShapeLayerBuilderProtocol.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ShapeLayerBuilderProtocol.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/vector/VectorLayerProtocol.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile VectorLayerProtocol.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/swiftui-loop-videoplayer/protocol/view/ExtPlayerViewProtocol.swift (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ExtPlayerViewProtocol.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
2026-09-23 17:53:26.123 xcodebuild[815:4874] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
SwiftEmitModule normal arm64 Emitting\ module\ for\ swiftui_loop_videoplayer (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
SwiftCompile normal arm64 (in target 'swiftui-loop-videoplayer' from project 'swiftui-loop-videoplayer')
Building workspace swiftui-loop-videoplayer with scheme swiftui-loop-videoplayer
(3 failures)
BUILD FAILURE 6.4 watchOS