The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Camera-SwiftUI, reference main (026ce8), with Swift 6.4 for tvOS using Xcode 27.0 on 19 Sep 2026 21:08:06 UTC.

Build Command

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

Build Log

1112 |
1113 | /*!
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/View/CameraPreview.swift (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CameraPreview.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ Camera_SwiftUI (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Extensions.swift:14:30: error: 'UIDeviceOrientation' is unavailable in tvOS
12 |
13 | extension AVCaptureVideoOrientation {
14 |     init?(deviceOrientation: UIDeviceOrientation) {
   |                              `- error: 'UIDeviceOrientation' is unavailable in tvOS
15 |         switch deviceOrientation {
16 |         case .portrait: self = .portrait
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIOrientation.h:13:28: note: 'UIDeviceOrientation' has been explicitly marked unavailable here
11 | NS_HEADER_AUDIT_BEGIN(nullability, sendability)
12 |
13 | typedef NS_ENUM(NSInteger, UIDeviceOrientation) {
   |                            `- note: 'UIDeviceOrientation' has been explicitly marked unavailable here
14 |     UIDeviceOrientationUnknown,
15 |     UIDeviceOrientationPortrait,            // Device oriented vertically, home button on the bottom
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Extensions.swift:24:33: error: 'UIInterfaceOrientation' is unavailable in tvOS
22 |     }
23 |
24 |     init?(interfaceOrientation: UIInterfaceOrientation) {
   |                                 `- error: 'UIInterfaceOrientation' is unavailable in tvOS
25 |         switch interfaceOrientation {
26 |         case .portrait: self = .portrait
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIOrientation.h:41:28: note: 'UIInterfaceOrientation' has been explicitly marked unavailable here
39 | // Note that UIInterfaceOrientationLandscapeLeft is equal to UIDeviceOrientationLandscapeRight (and vice versa).
40 | // This is because rotating the device to the left requires rotating the content to the right.
41 | typedef NS_ENUM(NSInteger, UIInterfaceOrientation) {
   |                            `- note: 'UIInterfaceOrientation' has been explicitly marked unavailable here
42 |     UIInterfaceOrientationUnknown            = UIDeviceOrientationUnknown,
43 |     UIInterfaceOrientationPortrait           = UIDeviceOrientationPortrait,
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Extensions.swift:13:11: error: 'AVCaptureVideoOrientation' is unavailable in tvOS
11 | import AVFoundation
12 |
13 | extension AVCaptureVideoOrientation {
   |           `- error: 'AVCaptureVideoOrientation' is unavailable in tvOS
14 |     init?(deviceOrientation: UIDeviceOrientation) {
15 |         switch deviceOrientation {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:104:28: note: 'AVCaptureVideoOrientation' has been explicitly marked unavailable here
 102 |
 103 | /// Constants indicating video orientation, for use with AVCaptureDeviceRotationCoordinator.
 104 | typedef NS_ENUM(NSInteger, AVCaptureVideoOrientation) {
     |                            `- note: 'AVCaptureVideoOrientation' has been explicitly marked unavailable here
 105 |     /// Indicates that video should be oriented vertically, port on the bottom.
 106 |     AVCaptureVideoOrientationPortrait           = 1,
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Extensions.swift:35:11: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
33 | }
34 |
35 | extension AVCaptureDevice.DiscoverySession {
   | |         `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
   | `- note: add '@available' attribute to enclosing extension
36 |     var uniqueDevicePositionsCount: Int {
37 |
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:65:38: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
 63 |     //    MARK: Observed Properties UI must react to
 64 |
 65 |     @Published public var flashMode: AVCaptureDevice.FlashMode = .off
    |                                      `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 66 |     @Published public var shouldShowAlertView = false
 67 |     @Published public var shouldShowSpinner = false
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:79:26: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 77 |     // MARK: Session Management Properties
 78 |
 79 |     public let session = AVCaptureSession()
    |                          `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
 80 |
 81 |     var isSessionRunning = false
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:88:41: error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 86 |     let sessionQueue = DispatchQueue(label: "session queue")
 87 |
 88 |     @objc dynamic var videoDeviceInput: AVCaptureDeviceInput!
    |                                         `- error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
 89 |
 90 |     // MARK: Device Configuration Properties
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:91:39: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 89 |
 90 |     // MARK: Device Configuration Properties
 91 |     let videoDeviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera, .builtInDualCamera, .builtInTrueDepthCamera], mediaType: .video, position: .unspecified)
    |                                       `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 92 |
 93 |     // MARK: Capturing Photos
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:91:87: error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 89 |
 90 |     // MARK: Device Configuration Properties
 91 |     let videoDeviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera, .builtInDualCamera, .builtInTrueDepthCamera], mediaType: .video, position: .unspecified)
    |                                                                                       `- error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
 92 |
 93 |     // MARK: Capturing Photos
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:91:112: error: 'builtInDualCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 89 |
 90 |     // MARK: Device Configuration Properties
 91 |     let videoDeviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera, .builtInDualCamera, .builtInTrueDepthCamera], mediaType: .video, position: .unspecified)
    |                                                                                                                `- error: 'builtInDualCamera' is only available in tvOS 17.0 or newer
 92 |
 93 |     // MARK: Capturing Photos
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:91:132: error: 'builtInTrueDepthCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 89 |
 90 |     // MARK: Device Configuration Properties
 91 |     let videoDeviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera, .builtInDualCamera, .builtInTrueDepthCamera], mediaType: .video, position: .unspecified)
    |                                                                                                                                    `- error: 'builtInTrueDepthCamera' is only available in tvOS 17.0 or newer
 92 |
 93 |     // MARK: Capturing Photos
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:95:23: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 93 |     // MARK: Capturing Photos
 94 |
 95 |     let photoOutput = AVCapturePhotoOutput()
    |                       `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 96 |
 97 |     var inProgressPhotoCaptureDelegates = [Int64: PhotoCaptureProcessor]()
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:362:39: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
360 |     }
361 |
362 |     public func focus(with focusMode: AVCaptureDevice.FocusMode, exposureMode: AVCaptureDevice.ExposureMode, at devicePoint: CGPoint, monitorSubjectAreaChange: Bool) {
    |                 |                     `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
363 |         sessionQueue.async {
364 |             guard let device = self.videoDeviceInput?.device else { return }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:362:80: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
360 |     }
361 |
362 |     public func focus(with focusMode: AVCaptureDevice.FocusMode, exposureMode: AVCaptureDevice.ExposureMode, at devicePoint: CGPoint, monitorSubjectAreaChange: Bool) {
    |                 |                                                              `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
363 |         sessionQueue.async {
364 |             guard let device = self.videoDeviceInput?.device else { return }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:638:84: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
636 |
637 |     /// - Tag: HandleSystemPressure
638 |     private func setRecommendedFrameRateRangeForPressureState(systemPressureState: AVCaptureDevice.SystemPressureState) {
    |                  |                                                                 `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                  `- note: add '@available' attribute to enclosing instance method
639 |         /*
640 |          The frame rates used here are only for demonstration purposes.
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:12:46: error: 'AVCapturePhotoSettings' is only available in tvOS 17.0 or newer
  9 | import Photos
 10 |
 11 | class PhotoCaptureProcessor: NSObject {
    |       `- note: add '@available' attribute to enclosing class
 12 |     private(set) var requestedPhotoSettings: AVCapturePhotoSettings
    |                                              `- error: 'AVCapturePhotoSettings' is only available in tvOS 17.0 or newer
 13 |
 14 |     private let willCapturePhotoAnimation: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:26:39: error: 'AVCapturePhotoSettings' is only available in tvOS 17.0 or newer
  9 | import Photos
 10 |
 11 | class PhotoCaptureProcessor: NSObject {
    |       `- note: add '@available' attribute to enclosing class
 12 |     private(set) var requestedPhotoSettings: AVCapturePhotoSettings
 13 |
    :
 24 |     private var maxPhotoProcessingTime: CMTime?
 25 |
 26 |     init(with requestedPhotoSettings: AVCapturePhotoSettings,
    |     |                                 `- error: 'AVCapturePhotoSettings' is only available in tvOS 17.0 or newer
    |     `- note: add '@available' attribute to enclosing initializer
 27 |          willCapturePhotoAnimation: @escaping () -> Void,
 28 |          completionHandler: @escaping (PhotoCaptureProcessor) -> Void,
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:43:32: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 41 |
 42 |     /// - Tag: WillBeginCapture
 43 |     func photoOutput(_ output: AVCapturePhotoOutput, willBeginCaptureFor resolvedSettings: AVCaptureResolvedPhotoSettings) {
    |          |                     `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 44 |         maxPhotoProcessingTime = resolvedSettings.photoProcessingTimeRange.start + resolvedSettings.photoProcessingTimeRange.duration
 45 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:43:92: error: 'AVCaptureResolvedPhotoSettings' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 41 |
 42 |     /// - Tag: WillBeginCapture
 43 |     func photoOutput(_ output: AVCapturePhotoOutput, willBeginCaptureFor resolvedSettings: AVCaptureResolvedPhotoSettings) {
    |          |                                                                                 `- error: 'AVCaptureResolvedPhotoSettings' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 44 |         maxPhotoProcessingTime = resolvedSettings.photoProcessingTimeRange.start + resolvedSettings.photoProcessingTimeRange.duration
 45 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:48:32: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 46 |
 47 |     /// - Tag: WillCapturePhoto
 48 |     func photoOutput(_ output: AVCapturePhotoOutput, willCapturePhotoFor resolvedSettings: AVCaptureResolvedPhotoSettings) {
    |          |                     `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 49 |         DispatchQueue.main.async {
 50 |             self.willCapturePhotoAnimation()
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:48:92: error: 'AVCaptureResolvedPhotoSettings' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 46 |
 47 |     /// - Tag: WillCapturePhoto
 48 |     func photoOutput(_ output: AVCapturePhotoOutput, willCapturePhotoFor resolvedSettings: AVCaptureResolvedPhotoSettings) {
    |          |                                                                                 `- error: 'AVCaptureResolvedPhotoSettings' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 49 |         DispatchQueue.main.async {
 50 |             self.willCapturePhotoAnimation()
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:67:32: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 65 |
 66 |     /// - Tag: DidFinishProcessingPhoto
 67 |     func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Error?) {
    |          |                     `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 68 |
 69 |         DispatchQueue.main.async {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:67:86: error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 65 |
 66 |     /// - Tag: DidFinishProcessingPhoto
 67 |     func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Error?) {
    |          |                                                                           `- error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 68 |
 69 |         DispatchQueue.main.async {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:112:32: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
110 |
111 |     /// - Tag: DidFinishCapture
112 |     func photoOutput(_ output: AVCapturePhotoOutput, didFinishCaptureFor resolvedSettings: AVCaptureResolvedPhotoSettings, error: Error?) {
    |          |                     `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
113 |         if let error = error {
114 |             print("Error capturing photo: \(error)")
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:112:92: error: 'AVCaptureResolvedPhotoSettings' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
110 |
111 |     /// - Tag: DidFinishCapture
112 |     func photoOutput(_ output: AVCapturePhotoOutput, didFinishCaptureFor resolvedSettings: AVCaptureResolvedPhotoSettings, error: Error?) {
    |          |                                                                                 `- error: 'AVCaptureResolvedPhotoSettings' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
113 |         if let error = error {
114 |             print("Error capturing photo: \(error)")
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/View/CameraPreview.swift:19:32: error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
12 |
13 | public struct CameraPreview: UIViewRepresentable {
14 |     public class VideoPreviewView: UIView {
   |                  `- note: add '@available' attribute to enclosing class
15 |         public override class var layerClass: AnyClass {
16 |             AVCaptureVideoPreviewLayer.self
17 |         }
18 |
19 |         var videoPreviewLayer: AVCaptureVideoPreviewLayer {
   |             |                  `- error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
   |             `- note: add '@available' attribute to enclosing property
20 |             return layer as! AVCaptureVideoPreviewLayer
21 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/View/CameraPreview.swift:66:25: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
11 | import SwiftUI
12 |
13 | public struct CameraPreview: UIViewRepresentable {
   |               `- note: add '@available' attribute to enclosing struct
14 |     public class VideoPreviewView: UIView {
15 |         public override class var layerClass: AnyClass {
   :
64 |     }
65 |
66 |     public let session: AVCaptureSession
   |                         `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
67 |
68 |     public init(session: AVCaptureSession) {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/View/CameraPreview.swift:68:26: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
11 | import SwiftUI
12 |
13 | public struct CameraPreview: UIViewRepresentable {
   |               `- note: add '@available' attribute to enclosing struct
14 |     public class VideoPreviewView: UIView {
15 |         public override class var layerClass: AnyClass {
   :
66 |     public let session: AVCaptureSession
67 |
68 |     public init(session: AVCaptureSession) {
   |            |             `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
   |            `- note: add '@available' attribute to enclosing initializer
69 |         self.session = session
70 |     }
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/Camera-SwiftUI/Service/CameraService+Enums.swift /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Extensions.swift /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/ImageResizer.swift /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/View/CameraPreview.swift -target arm64-apple-tvos15.0 -disable-cross-import-overlay-search -swift-module-cross-import Photos /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Photos.framework/Modules/Photos.swiftcrossimport/AppIntents.swiftoverlay -swift-module-cross-import Photos /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/Photos.framework/Modules/Photos.swiftcrossimport/AppIntents.swiftoverlay -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libPreviewsMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#PreviewsMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftUIMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.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/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera_SwiftUI-dependencies-1.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.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/appletvos27.0-24J360-e829b21a6f8c9b70876ba0858053c044b32bfd8d43560033f8d89884cdb90028.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Camera_SwiftUI -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera-SwiftUI_const_extract_protocols.json -disable-clang-spi -clang-target arm64-apple-tvos27.0 -target-sdk-version 27.0 -target-sdk-name appletvos27.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/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera_SwiftUI.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera_SwiftUI.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera-SwiftUI-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera-SwiftUI-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera-SwiftUI-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera_SwiftUI.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera_SwiftUI.abi.json
SwiftCompile normal arm64 (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64 Compiling\ CameraService.swift /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:65:38: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
 63 |     //    MARK: Observed Properties UI must react to
 64 |
 65 |     @Published public var flashMode: AVCaptureDevice.FlashMode = .off
    |                                      `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 66 |     @Published public var shouldShowAlertView = false
 67 |     @Published public var shouldShowSpinner = false
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:79:26: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 77 |     // MARK: Session Management Properties
 78 |
 79 |     public let session = AVCaptureSession()
    |                          `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
 80 |
 81 |     var isSessionRunning = false
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:88:41: error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 86 |     let sessionQueue = DispatchQueue(label: "session queue")
 87 |
 88 |     @objc dynamic var videoDeviceInput: AVCaptureDeviceInput!
    |                                         `- error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
 89 |
 90 |     // MARK: Device Configuration Properties
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:91:39: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 89 |
 90 |     // MARK: Device Configuration Properties
 91 |     let videoDeviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera, .builtInDualCamera, .builtInTrueDepthCamera], mediaType: .video, position: .unspecified)
    |                                       `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 92 |
 93 |     // MARK: Capturing Photos
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:91:87: error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 89 |
 90 |     // MARK: Device Configuration Properties
 91 |     let videoDeviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera, .builtInDualCamera, .builtInTrueDepthCamera], mediaType: .video, position: .unspecified)
    |                                                                                       `- error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
 92 |
 93 |     // MARK: Capturing Photos
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:91:112: error: 'builtInDualCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 89 |
 90 |     // MARK: Device Configuration Properties
 91 |     let videoDeviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera, .builtInDualCamera, .builtInTrueDepthCamera], mediaType: .video, position: .unspecified)
    |                                                                                                                `- error: 'builtInDualCamera' is only available in tvOS 17.0 or newer
 92 |
 93 |     // MARK: Capturing Photos
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:91:132: error: 'builtInTrueDepthCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 89 |
 90 |     // MARK: Device Configuration Properties
 91 |     let videoDeviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera, .builtInDualCamera, .builtInTrueDepthCamera], mediaType: .video, position: .unspecified)
    |                                                                                                                                    `- error: 'builtInTrueDepthCamera' is only available in tvOS 17.0 or newer
 92 |
 93 |     // MARK: Capturing Photos
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:95:23: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 93 |     // MARK: Capturing Photos
 94 |
 95 |     let photoOutput = AVCapturePhotoOutput()
    |                       `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 96 |
 97 |     var inProgressPhotoCaptureDelegates = [Int64: PhotoCaptureProcessor]()
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:362:39: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
360 |     }
361 |
362 |     public func focus(with focusMode: AVCaptureDevice.FocusMode, exposureMode: AVCaptureDevice.ExposureMode, at devicePoint: CGPoint, monitorSubjectAreaChange: Bool) {
    |                 |                     `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
363 |         sessionQueue.async {
364 |             guard let device = self.videoDeviceInput?.device else { return }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:362:80: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
360 |     }
361 |
362 |     public func focus(with focusMode: AVCaptureDevice.FocusMode, exposureMode: AVCaptureDevice.ExposureMode, at devicePoint: CGPoint, monitorSubjectAreaChange: Bool) {
    |                 |                                                              `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
363 |         sessionQueue.async {
364 |             guard let device = self.videoDeviceInput?.device else { return }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:638:84: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
636 |
637 |     /// - Tag: HandleSystemPressure
638 |     private func setRecommendedFrameRateRangeForPressureState(systemPressureState: AVCaptureDevice.SystemPressureState) {
    |                  |                                                                 `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                  `- note: add '@available' attribute to enclosing instance method
639 |         /*
640 |          The frame rates used here are only for demonstration purposes.
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:140:16: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
132 |
133 |     //        MARK: Checks for permisions, setup obeservers and starts running session
134 |     public func checkForPermissions() {
    |                 `- note: add '@available' attribute to enclosing instance method
135 |         /*
136 |          Check the video authorization status. Video access is required and audio
    :
138 |          record audio during movie recording.
139 |          */
140 |         switch AVCaptureDevice.authorizationStatus(for: .video) {
    |                |- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                `- note: add 'if #available' version check
141 |         case .authorized:
142 |             // The user has previously granted access to the camera.
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:140:32: error: 'authorizationStatus(for:)' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
132 |
133 |     //        MARK: Checks for permisions, setup obeservers and starts running session
134 |     public func checkForPermissions() {
    |                 `- note: add '@available' attribute to enclosing instance method
135 |         /*
136 |          Check the video authorization status. Video access is required and audio
    :
138 |          record audio during movie recording.
139 |          */
140 |         switch AVCaptureDevice.authorizationStatus(for: .video) {
    |                                |- error: 'authorizationStatus(for:)' is only available in tvOS 17.0 or newer
    |                                `- note: add 'if #available' version check
141 |         case .authorized:
142 |             // The user has previously granted access to the camera.
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:154:13: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
132 |
133 |     //        MARK: Checks for permisions, setup obeservers and starts running session
134 |     public func checkForPermissions() {
    |                 `- note: add '@available' attribute to enclosing instance method
135 |         /*
136 |          Check the video authorization status. Video access is required and audio
    :
152 |              */
153 |             sessionQueue.suspend()
154 |             AVCaptureDevice.requestAccess(for: .video, completionHandler: { granted in
    |             |- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |             `- note: add 'if #available' version check
155 |                 if !granted {
156 |                     self.setupResult = .notAuthorized
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:154:29: error: 'requestAccess(for:completionHandler:)' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
132 |
133 |     //        MARK: Checks for permisions, setup obeservers and starts running session
134 |     public func checkForPermissions() {
    |                 `- note: add '@available' attribute to enclosing instance method
135 |         /*
136 |          Check the video authorization status. Video access is required and audio
    :
152 |              */
153 |             sessionQueue.suspend()
154 |             AVCaptureDevice.requestAccess(for: .video, completionHandler: { granted in
    |                             |- error: 'requestAccess(for:completionHandler:)' is only available in tvOS 17.0 or newer
    |                             `- note: add 'if #available' version check
155 |                 if !granted {
156 |                     self.setupResult = .notAuthorized
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:193:34: error: 'photo' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
191 |          Live Photo is not supported when AVCaptureMovieFileOutput is added to the session.
192 |          */
193 |         session.sessionPreset = .photo
    |                                  |- error: 'photo' is only available in tvOS 17.0 or newer
    |                                  `- note: add 'if #available' version check
194 |
195 |         // Add video input.
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:197:37: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
195 |         // Add video input.
196 |         do {
197 |             var defaultVideoDevice: AVCaptureDevice?
    |                                     |- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                                     `- note: add 'if #available' version check
198 |
199 |             if let backCameraDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .back) {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:199:39: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
197 |             var defaultVideoDevice: AVCaptureDevice?
198 |
199 |             if let backCameraDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .back) {
    |                                       |- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                                       `- note: add 'if #available' version check
200 |                 // If a rear dual camera is not available, default to the rear wide angle camera.
201 |                 defaultVideoDevice = backCameraDevice
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:199:55: error: 'default(_:for:position:)' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
197 |             var defaultVideoDevice: AVCaptureDevice?
198 |
199 |             if let backCameraDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .back) {
    |                                                       |- error: 'default(_:for:position:)' is only available in tvOS 17.0 or newer
    |                                                       `- note: add 'if #available' version check
200 |                 // If a rear dual camera is not available, default to the rear wide angle camera.
201 |                 defaultVideoDevice = backCameraDevice
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:199:64: error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
197 |             var defaultVideoDevice: AVCaptureDevice?
198 |
199 |             if let backCameraDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .back) {
    |                                                                |- error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
    |                                                                `- note: add 'if #available' version check
200 |                 // If a rear dual camera is not available, default to the rear wide angle camera.
201 |                 defaultVideoDevice = backCameraDevice
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:202:47: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
200 |                 // If a rear dual camera is not available, default to the rear wide angle camera.
201 |                 defaultVideoDevice = backCameraDevice
202 |             } else if let frontCameraDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .front) {
    |                                               |- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                                               `- note: add 'if #available' version check
203 |                 // If the rear wide angle camera isn't available, default to the front wide angle camera.
204 |                 defaultVideoDevice = frontCameraDevice
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:202:63: error: 'default(_:for:position:)' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
200 |                 // If a rear dual camera is not available, default to the rear wide angle camera.
201 |                 defaultVideoDevice = backCameraDevice
202 |             } else if let frontCameraDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .front) {
    |                                                               |- error: 'default(_:for:position:)' is only available in tvOS 17.0 or newer
    |                                                               `- note: add 'if #available' version check
203 |                 // If the rear wide angle camera isn't available, default to the front wide angle camera.
204 |                 defaultVideoDevice = frontCameraDevice
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:202:72: error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
200 |                 // If a rear dual camera is not available, default to the rear wide angle camera.
201 |                 defaultVideoDevice = backCameraDevice
202 |             } else if let frontCameraDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .front) {
    |                                                                        |- error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
    |                                                                        `- note: add 'if #available' version check
203 |                 // If the rear wide angle camera isn't available, default to the front wide angle camera.
204 |                 defaultVideoDevice = frontCameraDevice
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:214:40: error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
212 |             }
213 |
214 |             let videoDeviceInput = try AVCaptureDeviceInput(device: videoDevice)
    |                                        |- error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
    |                                        `- note: add 'if #available' version check
215 |
216 |             if session.canAddInput(videoDeviceInput) {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:237:25: error: 'isHighResolutionCaptureEnabled' is unavailable in tvOS
235 |             session.addOutput(photoOutput)
236 |
237 |             photoOutput.isHighResolutionCaptureEnabled = true
    |                         `- error: 'isHighResolutionCaptureEnabled' is unavailable in tvOS
238 |             photoOutput.maxPhotoQualityPrioritization = .quality
239 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCapturePhotoOutput.h:536:66: note: 'isHighResolutionCaptureEnabled' has been explicitly marked unavailable here
 534 |     Some AVCaptureDeviceFormats support outputting higher resolution stills than their streaming resolution (See AVCaptureDeviceFormat.highResolutionStillImageDimensions). Under some conditions, AVCaptureSession needs to set up the photo render pipeline differently to support high resolution still image capture. If you intend to take high resolution still images at all, you should set this property to YES before calling -[AVCaptureSession startRunning]. Once you've opted in for high resolution capture, you are free to issue photo capture requests with or without highResolutionCaptureEnabled in the AVCapturePhotoSettings. If you have not set this property to YES and call capturePhotoWithSettings:delegate: with settings.highResolutionCaptureEnabled set to YES, an NSInvalidArgumentException will be thrown.
 535 |  */
 536 | @property(nonatomic, getter=isHighResolutionCaptureEnabled) BOOL highResolutionCaptureEnabled API_DEPRECATED("Use maxPhotoDimensions instead.", macos(10.15, 13.0), ios(10.0, 16.0), macCatalyst(14.0, 16.0)) API_UNAVAILABLE(tvos, visionos);
     |                                                                  `- note: 'isHighResolutionCaptureEnabled' has been explicitly marked unavailable here
 537 |
 538 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:238:25: error: 'maxPhotoQualityPrioritization' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
236 |
237 |             photoOutput.isHighResolutionCaptureEnabled = true
238 |             photoOutput.maxPhotoQualityPrioritization = .quality
    |                         |- error: 'maxPhotoQualityPrioritization' is only available in tvOS 17.0 or newer
    |                         `- note: add 'if #available' version check
239 |
240 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:294:36: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
292 |             let currentPosition = currentVideoDevice.position
293 |
294 |             let preferredPosition: AVCaptureDevice.Position
    |                                    |- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                                    `- note: add 'if #available' version check
295 |             let preferredDeviceType: AVCaptureDevice.DeviceType
296 |
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:295:38: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
293 |
294 |             let preferredPosition: AVCaptureDevice.Position
295 |             let preferredDeviceType: AVCaptureDevice.DeviceType
    |                                      |- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                                      `- note: add 'if #available' version check
296 |
297 |             switch currentPosition {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:312:33: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
310 |             }
311 |             let devices = self.videoDeviceDiscoverySession.devices
312 |             var newVideoDevice: AVCaptureDevice? = nil
    |                                 |- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                                 `- note: add 'if #available' version check
313 |
314 |             // First, seek a device with both the preferred position and device type. Otherwise, seek a device with only the preferred position.
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:300:40: error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
298 |             case .unspecified, .front:
299 |                 preferredPosition = .back
300 |                 preferredDeviceType = .builtInWideAngleCamera
    |                                        |- error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
    |                                        `- note: add 'if #available' version check
301 |
302 |             case .back:
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:304:40: error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
302 |             case .back:
303 |                 preferredPosition = .front
304 |                 preferredDeviceType = .builtInWideAngleCamera
    |                                        |- error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
    |                                        `- note: add 'if #available' version check
305 |
306 |             @unknown default:
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:309:40: error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
307 |                 print("Unknown capture position. Defaulting to back, dual-camera.")
308 |                 preferredPosition = .back
309 |                 preferredDeviceType = .builtInWideAngleCamera
    |                                        |- error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
    |                                        `- note: add 'if #available' version check
310 |             }
311 |             let devices = self.videoDeviceDiscoverySession.devices
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:315:91: error: 'deviceType' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
313 |
314 |             // First, seek a device with both the preferred position and device type. Otherwise, seek a device with only the preferred position.
315 |             if let device = devices.first(where: { $0.position == preferredPosition && $0.deviceType == preferredDeviceType }) {
    |                                                                                           |- error: 'deviceType' is only available in tvOS 17.0 or newer
    |                                                                                           `- note: add 'if #available' version check
316 |                 newVideoDevice = device
317 |             } else if let device = devices.first(where: { $0.position == preferredPosition }) {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:323:48: error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
321 |             if let videoDevice = newVideoDevice {
322 |                 do {
323 |                     let videoDeviceInput = try AVCaptureDeviceInput(device: videoDevice)
    |                                                |- error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
    |                                                `- note: add 'if #available' version check
324 |
325 |                     self.session.beginConfiguration()
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:332:80: error: 'AVCaptureDeviceSubjectAreaDidChange' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
330 |
331 |                     if self.session.canAddInput(videoDeviceInput) {
332 |                         NotificationCenter.default.removeObserver(self, name: .AVCaptureDeviceSubjectAreaDidChange, object: currentVideoDevice)
    |                                                                                |- error: 'AVCaptureDeviceSubjectAreaDidChange' is only available in tvOS 17.0 or newer
    |                                                                                `- note: add 'if #available' version check
333 |                         NotificationCenter.default.addObserver(self, selector: #selector(self.subjectAreaDidChange), name: .AVCaptureDeviceSubjectAreaDidChange, object: videoDeviceInput.device)
334 |
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:333:125: error: 'AVCaptureDeviceSubjectAreaDidChange' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
331 |                     if self.session.canAddInput(videoDeviceInput) {
332 |                         NotificationCenter.default.removeObserver(self, name: .AVCaptureDeviceSubjectAreaDidChange, object: currentVideoDevice)
333 |                         NotificationCenter.default.addObserver(self, selector: #selector(self.subjectAreaDidChange), name: .AVCaptureDeviceSubjectAreaDidChange, object: videoDeviceInput.device)
    |                                                                                                                             |- error: 'AVCaptureDeviceSubjectAreaDidChange' is only available in tvOS 17.0 or newer
    |                                                                                                                             `- note: add 'if #available' version check
334 |
335 |                         self.session.addInput(videoDeviceInput)
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:341:58: error: 'connection(with:)' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
339 |                     }
340 |
341 |                     if let connection = self.photoOutput.connection(with: .video) {
    |                                                          |- error: 'connection(with:)' is only available in tvOS 17.0 or newer
    |                                                          `- note: add 'if #available' version check
342 |                         if connection.isVideoStabilizationSupported {
343 |                             connection.preferredVideoStabilizationMode = .auto
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:342:39: error: 'isVideoStabilizationSupported' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
340 |
341 |                     if let connection = self.photoOutput.connection(with: .video) {
342 |                         if connection.isVideoStabilizationSupported {
    |                                       |- error: 'isVideoStabilizationSupported' is only available in tvOS 17.0 or newer
    |                                       `- note: add 'if #available' version check
343 |                             connection.preferredVideoStabilizationMode = .auto
344 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:343:40: error: 'preferredVideoStabilizationMode' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
341 |                     if let connection = self.photoOutput.connection(with: .video) {
342 |                         if connection.isVideoStabilizationSupported {
343 |                             connection.preferredVideoStabilizationMode = .auto
    |                                        |- error: 'preferredVideoStabilizationMode' is only available in tvOS 17.0 or newer
    |                                        `- note: add 'if #available' version check
344 |                         }
345 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:347:38: error: 'maxPhotoQualityPrioritization' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
345 |                     }
346 |
347 |                     self.photoOutput.maxPhotoQualityPrioritization = .quality
    |                                      |- error: 'maxPhotoQualityPrioritization' is only available in tvOS 17.0 or newer
    |                                      `- note: add 'if #available' version check
348 |
349 |                     self.session.commitConfiguration()
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:382:24: error: 'isSubjectAreaChangeMonitoringEnabled' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
360 |     }
361 |
362 |     public func focus(with focusMode: AVCaptureDevice.FocusMode, exposureMode: AVCaptureDevice.ExposureMode, at devicePoint: CGPoint, monitorSubjectAreaChange: Bool) {
    |                 `- note: add '@available' attribute to enclosing instance method
363 |         sessionQueue.async {
364 |             guard let device = self.videoDeviceInput?.device else { return }
    :
380 |                 }
381 |
382 |                 device.isSubjectAreaChangeMonitoringEnabled = monitorSubjectAreaChange
    |                        |- error: 'isSubjectAreaChangeMonitoringEnabled' is only available in tvOS 17.0 or newer
    |                        `- note: add 'if #available' version check
383 |                 device.unlockForConfiguration()
384 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:472:20: error: 'videoZoomFactor' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
464 |     }
465 |
466 |     public func set(zoom: CGFloat){
    |                 `- note: add '@available' attribute to enclosing instance method
467 |         let factor = zoom < 1 ? 1 : zoom
468 |         let device = self.videoDeviceInput.device
    :
470 |         do {
471 |             try device.lockForConfiguration()
472 |             device.videoZoomFactor = factor
    |                    |- error: 'videoZoomFactor' is only available in tvOS 17.0 or newer
    |                    `- note: add 'if #available' version check
473 |             device.unlockForConfiguration()
474 |         }
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CameraService.swift
SwiftCompile normal arm64 Compiling\ ImageResizer.swift /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/ImageResizer.swift (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/ImageResizer.swift (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ImageResizer.swift
SwiftCompile normal arm64 Compiling\ CameraService+Enums.swift /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Enums.swift (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Enums.swift (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CameraService+Enums.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
2026-09-19 17:07:56.848 xcodebuild[653:4203] [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\ Camera_SwiftUI (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
	SwiftCompile normal arm64 (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
	Building workspace Camera-SwiftUI with scheme Camera-SwiftUI
(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:
  Camera-SwiftUI: /Users/admin/builder/spi-builder-workspace
resolved source packages: Camera-SwiftUI
2026-09-19 17:08:03.207 xcodebuild[748:4602] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Camera-SwiftUI",
  "name" : "Camera-SwiftUI",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "11.0"
    }
  ],
  "products" : [
    {
      "name" : "Camera-SwiftUI",
      "targets" : [
        "Camera-SwiftUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Camera_SwiftUITests",
      "module_type" : "SwiftTarget",
      "name" : "Camera-SwiftUITests",
      "path" : "Tests/Camera-SwiftUITests",
      "sources" : [
        "Camera_SwiftUITests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "Camera-SwiftUI"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Camera_SwiftUI",
      "module_type" : "SwiftTarget",
      "name" : "Camera-SwiftUI",
      "path" : "Sources/Camera-SwiftUI",
      "product_memberships" : [
        "Camera-SwiftUI"
      ],
      "sources" : [
        "Service/CameraService+Enums.swift",
        "Service/CameraService+Extensions.swift",
        "Service/CameraService.swift",
        "Service/ImageResizer.swift",
        "Service/PhotoCaptureProcessor.swift",
        "View/CameraPreview.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
{
  "workspace" : {
    "name" : "Camera-SwiftUI",
    "schemes" : [
      "Camera-SwiftUI"
    ]
  }
}
2026-09-19 17:08:04.399 xcodebuild[756:4671] [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 Camera-SwiftUI -destination generic/platform=tvOS
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 Camera-SwiftUI -destination generic/platform=tvOS
Resolve Package Graph
Resolved source packages:
  Camera-SwiftUI: /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 'Camera-SwiftUI-product' in project 'Camera-SwiftUI'
        ➜ Explicit dependency on target 'Camera-SwiftUI' in project 'Camera-SwiftUI'
    Target 'Camera-SwiftUI' in project 'Camera-SwiftUI' (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/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/appletvos27.0-24J360-e829b21a6f8c9b70876ba0858053c044b32bfd8d43560033f8d89884cdb90028.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/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk -o /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/appletvos27.0-24J360-e829b21a6f8c9b70876ba0858053c044b32bfd8d43560033f8d89884cdb90028.sdkstatcache
SwiftDriver Camera-SwiftUI normal arm64 com.apple.xcode.tools.swift.compiler (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
    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 Camera_SwiftUI -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera-SwiftUI.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/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk -target arm64-apple-tvos15.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-appletvos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/Developer/Library/Frameworks -c -j10 -enable-batch-mode -incremental -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/appletvos27.0-24J360-e829b21a6f8c9b70876ba0858053c044b32bfd8d43560033f8d89884cdb90028.sdkstatcache -output-file-map /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera-SwiftUI-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/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera_SwiftUI.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera_SwiftUI-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/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera-SwiftUI_const_extract_protocols.json -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-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/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera-SwiftUI-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftCompile normal arm64 Compiling\ CameraService+Enums.swift /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Enums.swift (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Enums.swift (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CameraService+Enums.swift
SwiftCompile normal arm64 Compiling\ PhotoCaptureProcessor.swift /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:12:46: error: 'AVCapturePhotoSettings' is only available in tvOS 17.0 or newer
  9 | import Photos
 10 |
 11 | class PhotoCaptureProcessor: NSObject {
    |       `- note: add '@available' attribute to enclosing class
 12 |     private(set) var requestedPhotoSettings: AVCapturePhotoSettings
    |                                              `- error: 'AVCapturePhotoSettings' is only available in tvOS 17.0 or newer
 13 |
 14 |     private let willCapturePhotoAnimation: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:26:39: error: 'AVCapturePhotoSettings' is only available in tvOS 17.0 or newer
  9 | import Photos
 10 |
 11 | class PhotoCaptureProcessor: NSObject {
    |       `- note: add '@available' attribute to enclosing class
 12 |     private(set) var requestedPhotoSettings: AVCapturePhotoSettings
 13 |
    :
 24 |     private var maxPhotoProcessingTime: CMTime?
 25 |
 26 |     init(with requestedPhotoSettings: AVCapturePhotoSettings,
    |     |                                 `- error: 'AVCapturePhotoSettings' is only available in tvOS 17.0 or newer
    |     `- note: add '@available' attribute to enclosing initializer
 27 |          willCapturePhotoAnimation: @escaping () -> Void,
 28 |          completionHandler: @escaping (PhotoCaptureProcessor) -> Void,
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:43:32: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 41 |
 42 |     /// - Tag: WillBeginCapture
 43 |     func photoOutput(_ output: AVCapturePhotoOutput, willBeginCaptureFor resolvedSettings: AVCaptureResolvedPhotoSettings) {
    |          |                     `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 44 |         maxPhotoProcessingTime = resolvedSettings.photoProcessingTimeRange.start + resolvedSettings.photoProcessingTimeRange.duration
 45 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:43:92: error: 'AVCaptureResolvedPhotoSettings' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 41 |
 42 |     /// - Tag: WillBeginCapture
 43 |     func photoOutput(_ output: AVCapturePhotoOutput, willBeginCaptureFor resolvedSettings: AVCaptureResolvedPhotoSettings) {
    |          |                                                                                 `- error: 'AVCaptureResolvedPhotoSettings' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 44 |         maxPhotoProcessingTime = resolvedSettings.photoProcessingTimeRange.start + resolvedSettings.photoProcessingTimeRange.duration
 45 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:48:32: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 46 |
 47 |     /// - Tag: WillCapturePhoto
 48 |     func photoOutput(_ output: AVCapturePhotoOutput, willCapturePhotoFor resolvedSettings: AVCaptureResolvedPhotoSettings) {
    |          |                     `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 49 |         DispatchQueue.main.async {
 50 |             self.willCapturePhotoAnimation()
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:48:92: error: 'AVCaptureResolvedPhotoSettings' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 46 |
 47 |     /// - Tag: WillCapturePhoto
 48 |     func photoOutput(_ output: AVCapturePhotoOutput, willCapturePhotoFor resolvedSettings: AVCaptureResolvedPhotoSettings) {
    |          |                                                                                 `- error: 'AVCaptureResolvedPhotoSettings' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 49 |         DispatchQueue.main.async {
 50 |             self.willCapturePhotoAnimation()
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:67:32: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 65 |
 66 |     /// - Tag: DidFinishProcessingPhoto
 67 |     func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Error?) {
    |          |                     `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 68 |
 69 |         DispatchQueue.main.async {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:67:86: error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 65 |
 66 |     /// - Tag: DidFinishProcessingPhoto
 67 |     func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Error?) {
    |          |                                                                           `- error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 68 |
 69 |         DispatchQueue.main.async {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:112:32: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
110 |
111 |     /// - Tag: DidFinishCapture
112 |     func photoOutput(_ output: AVCapturePhotoOutput, didFinishCaptureFor resolvedSettings: AVCaptureResolvedPhotoSettings, error: Error?) {
    |          |                     `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
113 |         if let error = error {
114 |             print("Error capturing photo: \(error)")
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:112:92: error: 'AVCaptureResolvedPhotoSettings' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
110 |
111 |     /// - Tag: DidFinishCapture
112 |     func photoOutput(_ output: AVCapturePhotoOutput, didFinishCaptureFor resolvedSettings: AVCaptureResolvedPhotoSettings, error: Error?) {
    |          |                                                                                 `- error: 'AVCaptureResolvedPhotoSettings' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
113 |         if let error = error {
114 |             print("Error capturing photo: \(error)")
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:44:51: error: 'photoProcessingTimeRange' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 41 |
 42 |     /// - Tag: WillBeginCapture
 43 |     func photoOutput(_ output: AVCapturePhotoOutput, willBeginCaptureFor resolvedSettings: AVCaptureResolvedPhotoSettings) {
    |          `- note: add '@available' attribute to enclosing instance method
 44 |         maxPhotoProcessingTime = resolvedSettings.photoProcessingTimeRange.start + resolvedSettings.photoProcessingTimeRange.duration
    |                                                   |- error: 'photoProcessingTimeRange' is only available in tvOS 17.0 or newer
    |                                                   `- note: add 'if #available' version check
 45 |     }
 46 |
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:44:101: error: 'photoProcessingTimeRange' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 41 |
 42 |     /// - Tag: WillBeginCapture
 43 |     func photoOutput(_ output: AVCapturePhotoOutput, willBeginCaptureFor resolvedSettings: AVCaptureResolvedPhotoSettings) {
    |          `- note: add '@available' attribute to enclosing instance method
 44 |         maxPhotoProcessingTime = resolvedSettings.photoProcessingTimeRange.start + resolvedSettings.photoProcessingTimeRange.duration
    |                                                                                                     |- error: 'photoProcessingTimeRange' is only available in tvOS 17.0 or newer
    |                                                                                                     `- note: add 'if #available' version check
 45 |     }
 46 |
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:76:31: error: 'fileDataRepresentation()' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 65 |
 66 |     /// - Tag: DidFinishProcessingPhoto
 67 |     func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Error?) {
    |          `- note: add '@available' attribute to enclosing instance method
 68 |
 69 |         DispatchQueue.main.async {
    :
 74 |             print("Error capturing photo: \(error)")
 75 |         } else {
 76 |             photoData = photo.fileDataRepresentation()
    |                               |- error: 'fileDataRepresentation()' is only available in tvOS 17.0 or newer
    |                               `- note: add 'if #available' version check
 77 |
 78 |         }
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PhotoCaptureProcessor.swift
SwiftCompile normal arm64 Compiling\ CameraPreview.swift /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/View/CameraPreview.swift (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/View/CameraPreview.swift:19:32: error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
12 |
13 | public struct CameraPreview: UIViewRepresentable {
14 |     public class VideoPreviewView: UIView {
   |                  `- note: add '@available' attribute to enclosing class
15 |         public override class var layerClass: AnyClass {
16 |             AVCaptureVideoPreviewLayer.self
17 |         }
18 |
19 |         var videoPreviewLayer: AVCaptureVideoPreviewLayer {
   |             |                  `- error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
   |             `- note: add '@available' attribute to enclosing property
20 |             return layer as! AVCaptureVideoPreviewLayer
21 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/View/CameraPreview.swift:66:25: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
11 | import SwiftUI
12 |
13 | public struct CameraPreview: UIViewRepresentable {
   |               `- note: add '@available' attribute to enclosing struct
14 |     public class VideoPreviewView: UIView {
15 |         public override class var layerClass: AnyClass {
   :
64 |     }
65 |
66 |     public let session: AVCaptureSession
   |                         `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
67 |
68 |     public init(session: AVCaptureSession) {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/View/CameraPreview.swift:68:26: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
11 | import SwiftUI
12 |
13 | public struct CameraPreview: UIViewRepresentable {
   |               `- note: add '@available' attribute to enclosing struct
14 |     public class VideoPreviewView: UIView {
15 |         public override class var layerClass: AnyClass {
   :
66 |     public let session: AVCaptureSession
67 |
68 |     public init(session: AVCaptureSession) {
   |            |             `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
   |            `- note: add '@available' attribute to enclosing initializer
69 |         self.session = session
70 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/View/CameraPreview.swift:16:13: error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
12 |
13 | public struct CameraPreview: UIViewRepresentable {
14 |     public class VideoPreviewView: UIView {
   |                  `- note: add '@available' attribute to enclosing class
15 |         public override class var layerClass: AnyClass {
   |                                   `- note: add '@available' attribute to enclosing class property
16 |             AVCaptureVideoPreviewLayer.self
   |             |- error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
   |             `- note: add 'if #available' version check
17 |         }
18 |
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/View/CameraPreview.swift:20:30: error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
12 |
13 | public struct CameraPreview: UIViewRepresentable {
14 |     public class VideoPreviewView: UIView {
   |                  `- note: add '@available' attribute to enclosing class
15 |         public override class var layerClass: AnyClass {
16 |             AVCaptureVideoPreviewLayer.self
17 |         }
18 |
19 |         var videoPreviewLayer: AVCaptureVideoPreviewLayer {
   |             `- note: add '@available' attribute to enclosing property
20 |             return layer as! AVCaptureVideoPreviewLayer
   |                              |- error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
   |                              `- note: add 'if #available' version check
21 |         }
22 |
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/View/CameraPreview.swift:35:49: error: 'captureDevicePointConverted(fromLayerPoint:)' is only available in tvOS 17.0 or newer
12 |
13 | public struct CameraPreview: UIViewRepresentable {
14 |     public class VideoPreviewView: UIView {
   |                  `- note: add '@available' attribute to enclosing class
15 |         public override class var layerClass: AnyClass {
16 |             AVCaptureVideoPreviewLayer.self
   :
31 |         }()
32 |
33 |         @objc func focusAndExposeTap(gestureRecognizer: UITapGestureRecognizer) {
   |                    `- note: add '@available' attribute to enclosing instance method
34 |             let layerPoint = gestureRecognizer.location(in: gestureRecognizer.view)
35 |             let devicePoint = videoPreviewLayer.captureDevicePointConverted(fromLayerPoint: layerPoint)
   |                                                 |- error: 'captureDevicePointConverted(fromLayerPoint:)' is only available in tvOS 17.0 or newer
   |                                                 `- note: add 'if #available' version check
36 |
37 |             let focusCircleDiam: CGFloat = 50
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/View/CameraPreview.swift:77:38: error: 'connection' is only available in tvOS 17.0 or newer
11 | import SwiftUI
12 |
13 | public struct CameraPreview: UIViewRepresentable {
   |               `- note: add '@available' attribute to enclosing struct
14 |     public class VideoPreviewView: UIView {
15 |         public override class var layerClass: AnyClass {
   :
70 |     }
71 |
72 |     public func makeUIView(context: Context) -> VideoPreviewView {
   |                 `- note: add '@available' attribute to enclosing instance method
73 |         let viewFinder = VideoPreviewView()
74 |         viewFinder.backgroundColor = .black
75 |         viewFinder.videoPreviewLayer.cornerRadius = 0
76 |         viewFinder.videoPreviewLayer.session = session
77 |         viewFinder.videoPreviewLayer.connection?.videoOrientation = .portrait
   |                                      |- error: 'connection' is only available in tvOS 17.0 or newer
   |                                      `- note: add 'if #available' version check
78 |         return viewFinder
79 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/View/CameraPreview.swift:77:50: error: 'videoOrientation' is unavailable in tvOS
75 |         viewFinder.videoPreviewLayer.cornerRadius = 0
76 |         viewFinder.videoPreviewLayer.session = session
77 |         viewFinder.videoPreviewLayer.connection?.videoOrientation = .portrait
   |                                                  `- error: 'videoOrientation' is unavailable in tvOS
78 |         return viewFinder
79 |     }
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureSession.h:1111:48: note: 'videoOrientation' has been explicitly marked unavailable here
1109 |     This property is deprecated. Use -videoRotationAngle instead. This property may only be set if -isVideoOrientationSupported returns YES, otherwise an NSInvalidArgumentException is thrown.
1110 |  */
1111 | @property(nonatomic) AVCaptureVideoOrientation videoOrientation API_DEPRECATED("Use -videoRotationAngle instead", macos(10.7, 14.0), ios(4.0, 17.0), macCatalyst(14.0, 17.0)) API_UNAVAILABLE(tvos, visionos);
     |                                                `- note: 'videoOrientation' has been explicitly marked unavailable here
1112 |
1113 | /*!
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/View/CameraPreview.swift (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CameraPreview.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ Camera_SwiftUI (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Extensions.swift:14:30: error: 'UIDeviceOrientation' is unavailable in tvOS
12 |
13 | extension AVCaptureVideoOrientation {
14 |     init?(deviceOrientation: UIDeviceOrientation) {
   |                              `- error: 'UIDeviceOrientation' is unavailable in tvOS
15 |         switch deviceOrientation {
16 |         case .portrait: self = .portrait
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIOrientation.h:13:28: note: 'UIDeviceOrientation' has been explicitly marked unavailable here
11 | NS_HEADER_AUDIT_BEGIN(nullability, sendability)
12 |
13 | typedef NS_ENUM(NSInteger, UIDeviceOrientation) {
   |                            `- note: 'UIDeviceOrientation' has been explicitly marked unavailable here
14 |     UIDeviceOrientationUnknown,
15 |     UIDeviceOrientationPortrait,            // Device oriented vertically, home button on the bottom
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Extensions.swift:24:33: error: 'UIInterfaceOrientation' is unavailable in tvOS
22 |     }
23 |
24 |     init?(interfaceOrientation: UIInterfaceOrientation) {
   |                                 `- error: 'UIInterfaceOrientation' is unavailable in tvOS
25 |         switch interfaceOrientation {
26 |         case .portrait: self = .portrait
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIOrientation.h:41:28: note: 'UIInterfaceOrientation' has been explicitly marked unavailable here
39 | // Note that UIInterfaceOrientationLandscapeLeft is equal to UIDeviceOrientationLandscapeRight (and vice versa).
40 | // This is because rotating the device to the left requires rotating the content to the right.
41 | typedef NS_ENUM(NSInteger, UIInterfaceOrientation) {
   |                            `- note: 'UIInterfaceOrientation' has been explicitly marked unavailable here
42 |     UIInterfaceOrientationUnknown            = UIDeviceOrientationUnknown,
43 |     UIInterfaceOrientationPortrait           = UIDeviceOrientationPortrait,
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Extensions.swift:13:11: error: 'AVCaptureVideoOrientation' is unavailable in tvOS
11 | import AVFoundation
12 |
13 | extension AVCaptureVideoOrientation {
   |           `- error: 'AVCaptureVideoOrientation' is unavailable in tvOS
14 |     init?(deviceOrientation: UIDeviceOrientation) {
15 |         switch deviceOrientation {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:104:28: note: 'AVCaptureVideoOrientation' has been explicitly marked unavailable here
 102 |
 103 | /// Constants indicating video orientation, for use with AVCaptureDeviceRotationCoordinator.
 104 | typedef NS_ENUM(NSInteger, AVCaptureVideoOrientation) {
     |                            `- note: 'AVCaptureVideoOrientation' has been explicitly marked unavailable here
 105 |     /// Indicates that video should be oriented vertically, port on the bottom.
 106 |     AVCaptureVideoOrientationPortrait           = 1,
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Extensions.swift:35:11: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
33 | }
34 |
35 | extension AVCaptureDevice.DiscoverySession {
   | |         `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
   | `- note: add '@available' attribute to enclosing extension
36 |     var uniqueDevicePositionsCount: Int {
37 |
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:65:38: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
 63 |     //    MARK: Observed Properties UI must react to
 64 |
 65 |     @Published public var flashMode: AVCaptureDevice.FlashMode = .off
    |                                      `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 66 |     @Published public var shouldShowAlertView = false
 67 |     @Published public var shouldShowSpinner = false
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:79:26: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 77 |     // MARK: Session Management Properties
 78 |
 79 |     public let session = AVCaptureSession()
    |                          `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
 80 |
 81 |     var isSessionRunning = false
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:88:41: error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 86 |     let sessionQueue = DispatchQueue(label: "session queue")
 87 |
 88 |     @objc dynamic var videoDeviceInput: AVCaptureDeviceInput!
    |                                         `- error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
 89 |
 90 |     // MARK: Device Configuration Properties
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:91:39: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 89 |
 90 |     // MARK: Device Configuration Properties
 91 |     let videoDeviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera, .builtInDualCamera, .builtInTrueDepthCamera], mediaType: .video, position: .unspecified)
    |                                       `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 92 |
 93 |     // MARK: Capturing Photos
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:91:87: error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 89 |
 90 |     // MARK: Device Configuration Properties
 91 |     let videoDeviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera, .builtInDualCamera, .builtInTrueDepthCamera], mediaType: .video, position: .unspecified)
    |                                                                                       `- error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
 92 |
 93 |     // MARK: Capturing Photos
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:91:112: error: 'builtInDualCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 89 |
 90 |     // MARK: Device Configuration Properties
 91 |     let videoDeviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera, .builtInDualCamera, .builtInTrueDepthCamera], mediaType: .video, position: .unspecified)
    |                                                                                                                `- error: 'builtInDualCamera' is only available in tvOS 17.0 or newer
 92 |
 93 |     // MARK: Capturing Photos
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:91:132: error: 'builtInTrueDepthCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 89 |
 90 |     // MARK: Device Configuration Properties
 91 |     let videoDeviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera, .builtInDualCamera, .builtInTrueDepthCamera], mediaType: .video, position: .unspecified)
    |                                                                                                                                    `- error: 'builtInTrueDepthCamera' is only available in tvOS 17.0 or newer
 92 |
 93 |     // MARK: Capturing Photos
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:95:23: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 93 |     // MARK: Capturing Photos
 94 |
 95 |     let photoOutput = AVCapturePhotoOutput()
    |                       `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 96 |
 97 |     var inProgressPhotoCaptureDelegates = [Int64: PhotoCaptureProcessor]()
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:362:39: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
360 |     }
361 |
362 |     public func focus(with focusMode: AVCaptureDevice.FocusMode, exposureMode: AVCaptureDevice.ExposureMode, at devicePoint: CGPoint, monitorSubjectAreaChange: Bool) {
    |                 |                     `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
363 |         sessionQueue.async {
364 |             guard let device = self.videoDeviceInput?.device else { return }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:362:80: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
360 |     }
361 |
362 |     public func focus(with focusMode: AVCaptureDevice.FocusMode, exposureMode: AVCaptureDevice.ExposureMode, at devicePoint: CGPoint, monitorSubjectAreaChange: Bool) {
    |                 |                                                              `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
363 |         sessionQueue.async {
364 |             guard let device = self.videoDeviceInput?.device else { return }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:638:84: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
636 |
637 |     /// - Tag: HandleSystemPressure
638 |     private func setRecommendedFrameRateRangeForPressureState(systemPressureState: AVCaptureDevice.SystemPressureState) {
    |                  |                                                                 `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                  `- note: add '@available' attribute to enclosing instance method
639 |         /*
640 |          The frame rates used here are only for demonstration purposes.
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:12:46: error: 'AVCapturePhotoSettings' is only available in tvOS 17.0 or newer
  9 | import Photos
 10 |
 11 | class PhotoCaptureProcessor: NSObject {
    |       `- note: add '@available' attribute to enclosing class
 12 |     private(set) var requestedPhotoSettings: AVCapturePhotoSettings
    |                                              `- error: 'AVCapturePhotoSettings' is only available in tvOS 17.0 or newer
 13 |
 14 |     private let willCapturePhotoAnimation: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:26:39: error: 'AVCapturePhotoSettings' is only available in tvOS 17.0 or newer
  9 | import Photos
 10 |
 11 | class PhotoCaptureProcessor: NSObject {
    |       `- note: add '@available' attribute to enclosing class
 12 |     private(set) var requestedPhotoSettings: AVCapturePhotoSettings
 13 |
    :
 24 |     private var maxPhotoProcessingTime: CMTime?
 25 |
 26 |     init(with requestedPhotoSettings: AVCapturePhotoSettings,
    |     |                                 `- error: 'AVCapturePhotoSettings' is only available in tvOS 17.0 or newer
    |     `- note: add '@available' attribute to enclosing initializer
 27 |          willCapturePhotoAnimation: @escaping () -> Void,
 28 |          completionHandler: @escaping (PhotoCaptureProcessor) -> Void,
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:43:32: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 41 |
 42 |     /// - Tag: WillBeginCapture
 43 |     func photoOutput(_ output: AVCapturePhotoOutput, willBeginCaptureFor resolvedSettings: AVCaptureResolvedPhotoSettings) {
    |          |                     `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 44 |         maxPhotoProcessingTime = resolvedSettings.photoProcessingTimeRange.start + resolvedSettings.photoProcessingTimeRange.duration
 45 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:43:92: error: 'AVCaptureResolvedPhotoSettings' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 41 |
 42 |     /// - Tag: WillBeginCapture
 43 |     func photoOutput(_ output: AVCapturePhotoOutput, willBeginCaptureFor resolvedSettings: AVCaptureResolvedPhotoSettings) {
    |          |                                                                                 `- error: 'AVCaptureResolvedPhotoSettings' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 44 |         maxPhotoProcessingTime = resolvedSettings.photoProcessingTimeRange.start + resolvedSettings.photoProcessingTimeRange.duration
 45 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:48:32: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 46 |
 47 |     /// - Tag: WillCapturePhoto
 48 |     func photoOutput(_ output: AVCapturePhotoOutput, willCapturePhotoFor resolvedSettings: AVCaptureResolvedPhotoSettings) {
    |          |                     `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 49 |         DispatchQueue.main.async {
 50 |             self.willCapturePhotoAnimation()
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:48:92: error: 'AVCaptureResolvedPhotoSettings' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 46 |
 47 |     /// - Tag: WillCapturePhoto
 48 |     func photoOutput(_ output: AVCapturePhotoOutput, willCapturePhotoFor resolvedSettings: AVCaptureResolvedPhotoSettings) {
    |          |                                                                                 `- error: 'AVCaptureResolvedPhotoSettings' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 49 |         DispatchQueue.main.async {
 50 |             self.willCapturePhotoAnimation()
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:67:32: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 65 |
 66 |     /// - Tag: DidFinishProcessingPhoto
 67 |     func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Error?) {
    |          |                     `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 68 |
 69 |         DispatchQueue.main.async {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:67:86: error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
 65 |
 66 |     /// - Tag: DidFinishProcessingPhoto
 67 |     func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Error?) {
    |          |                                                                           `- error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
 68 |
 69 |         DispatchQueue.main.async {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:112:32: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
110 |
111 |     /// - Tag: DidFinishCapture
112 |     func photoOutput(_ output: AVCapturePhotoOutput, didFinishCaptureFor resolvedSettings: AVCaptureResolvedPhotoSettings, error: Error?) {
    |          |                     `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
113 |         if let error = error {
114 |             print("Error capturing photo: \(error)")
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift:112:92: error: 'AVCaptureResolvedPhotoSettings' is only available in tvOS 17.0 or newer
 35 | }
 36 |
 37 | extension PhotoCaptureProcessor: AVCapturePhotoCaptureDelegate {
    | `- note: add '@available' attribute to enclosing extension
 38 |     /*
 39 |      This extension adopts all of the AVCapturePhotoCaptureDelegate protocol methods.
    :
110 |
111 |     /// - Tag: DidFinishCapture
112 |     func photoOutput(_ output: AVCapturePhotoOutput, didFinishCaptureFor resolvedSettings: AVCaptureResolvedPhotoSettings, error: Error?) {
    |          |                                                                                 `- error: 'AVCaptureResolvedPhotoSettings' is only available in tvOS 17.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
113 |         if let error = error {
114 |             print("Error capturing photo: \(error)")
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/View/CameraPreview.swift:19:32: error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
12 |
13 | public struct CameraPreview: UIViewRepresentable {
14 |     public class VideoPreviewView: UIView {
   |                  `- note: add '@available' attribute to enclosing class
15 |         public override class var layerClass: AnyClass {
16 |             AVCaptureVideoPreviewLayer.self
17 |         }
18 |
19 |         var videoPreviewLayer: AVCaptureVideoPreviewLayer {
   |             |                  `- error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
   |             `- note: add '@available' attribute to enclosing property
20 |             return layer as! AVCaptureVideoPreviewLayer
21 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/View/CameraPreview.swift:66:25: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
11 | import SwiftUI
12 |
13 | public struct CameraPreview: UIViewRepresentable {
   |               `- note: add '@available' attribute to enclosing struct
14 |     public class VideoPreviewView: UIView {
15 |         public override class var layerClass: AnyClass {
   :
64 |     }
65 |
66 |     public let session: AVCaptureSession
   |                         `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
67 |
68 |     public init(session: AVCaptureSession) {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/View/CameraPreview.swift:68:26: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
11 | import SwiftUI
12 |
13 | public struct CameraPreview: UIViewRepresentable {
   |               `- note: add '@available' attribute to enclosing struct
14 |     public class VideoPreviewView: UIView {
15 |         public override class var layerClass: AnyClass {
   :
66 |     public let session: AVCaptureSession
67 |
68 |     public init(session: AVCaptureSession) {
   |            |             `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
   |            `- note: add '@available' attribute to enclosing initializer
69 |         self.session = session
70 |     }
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/Camera-SwiftUI/Service/CameraService+Enums.swift /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Extensions.swift /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/ImageResizer.swift /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/PhotoCaptureProcessor.swift /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/View/CameraPreview.swift -target arm64-apple-tvos15.0 -disable-cross-import-overlay-search -swift-module-cross-import Photos /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Photos.framework/Modules/Photos.swiftcrossimport/AppIntents.swiftoverlay -swift-module-cross-import Photos /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/Photos.framework/Modules/Photos.swiftcrossimport/AppIntents.swiftoverlay -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libPreviewsMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#PreviewsMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftUIMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.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/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera_SwiftUI-dependencies-1.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.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/appletvos27.0-24J360-e829b21a6f8c9b70876ba0858053c044b32bfd8d43560033f8d89884cdb90028.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-appletvos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Camera_SwiftUI -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera-SwiftUI_const_extract_protocols.json -disable-clang-spi -clang-target arm64-apple-tvos27.0 -target-sdk-version 27.0 -target-sdk-name appletvos27.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/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera_SwiftUI.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera_SwiftUI.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera-SwiftUI-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera-SwiftUI-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera-SwiftUI-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera_SwiftUI.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/Camera-SwiftUI.build/Debug-appletvos/Camera-SwiftUI-t.build/Objects-normal/arm64/Camera_SwiftUI.abi.json
SwiftCompile normal arm64 (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

SwiftCompile normal arm64 Compiling\ CameraService.swift /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:65:38: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
 63 |     //    MARK: Observed Properties UI must react to
 64 |
 65 |     @Published public var flashMode: AVCaptureDevice.FlashMode = .off
    |                                      `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 66 |     @Published public var shouldShowAlertView = false
 67 |     @Published public var shouldShowSpinner = false
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:79:26: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 77 |     // MARK: Session Management Properties
 78 |
 79 |     public let session = AVCaptureSession()
    |                          `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
 80 |
 81 |     var isSessionRunning = false
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:88:41: error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 86 |     let sessionQueue = DispatchQueue(label: "session queue")
 87 |
 88 |     @objc dynamic var videoDeviceInput: AVCaptureDeviceInput!
    |                                         `- error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
 89 |
 90 |     // MARK: Device Configuration Properties
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:91:39: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 89 |
 90 |     // MARK: Device Configuration Properties
 91 |     let videoDeviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera, .builtInDualCamera, .builtInTrueDepthCamera], mediaType: .video, position: .unspecified)
    |                                       `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 92 |
 93 |     // MARK: Capturing Photos
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:91:87: error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 89 |
 90 |     // MARK: Device Configuration Properties
 91 |     let videoDeviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera, .builtInDualCamera, .builtInTrueDepthCamera], mediaType: .video, position: .unspecified)
    |                                                                                       `- error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
 92 |
 93 |     // MARK: Capturing Photos
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:91:112: error: 'builtInDualCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 89 |
 90 |     // MARK: Device Configuration Properties
 91 |     let videoDeviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera, .builtInDualCamera, .builtInTrueDepthCamera], mediaType: .video, position: .unspecified)
    |                                                                                                                `- error: 'builtInDualCamera' is only available in tvOS 17.0 or newer
 92 |
 93 |     // MARK: Capturing Photos
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:91:132: error: 'builtInTrueDepthCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 89 |
 90 |     // MARK: Device Configuration Properties
 91 |     let videoDeviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera, .builtInDualCamera, .builtInTrueDepthCamera], mediaType: .video, position: .unspecified)
    |                                                                                                                                    `- error: 'builtInTrueDepthCamera' is only available in tvOS 17.0 or newer
 92 |
 93 |     // MARK: Capturing Photos
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:95:23: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
 93 |     // MARK: Capturing Photos
 94 |
 95 |     let photoOutput = AVCapturePhotoOutput()
    |                       `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
 96 |
 97 |     var inProgressPhotoCaptureDelegates = [Int64: PhotoCaptureProcessor]()
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:362:39: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
360 |     }
361 |
362 |     public func focus(with focusMode: AVCaptureDevice.FocusMode, exposureMode: AVCaptureDevice.ExposureMode, at devicePoint: CGPoint, monitorSubjectAreaChange: Bool) {
    |                 |                     `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
363 |         sessionQueue.async {
364 |             guard let device = self.videoDeviceInput?.device else { return }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:362:80: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
360 |     }
361 |
362 |     public func focus(with focusMode: AVCaptureDevice.FocusMode, exposureMode: AVCaptureDevice.ExposureMode, at devicePoint: CGPoint, monitorSubjectAreaChange: Bool) {
    |                 |                                                              `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                 `- note: add '@available' attribute to enclosing instance method
363 |         sessionQueue.async {
364 |             guard let device = self.videoDeviceInput?.device else { return }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:638:84: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
636 |
637 |     /// - Tag: HandleSystemPressure
638 |     private func setRecommendedFrameRateRangeForPressureState(systemPressureState: AVCaptureDevice.SystemPressureState) {
    |                  |                                                                 `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                  `- note: add '@available' attribute to enclosing instance method
639 |         /*
640 |          The frame rates used here are only for demonstration purposes.
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:140:16: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
132 |
133 |     //        MARK: Checks for permisions, setup obeservers and starts running session
134 |     public func checkForPermissions() {
    |                 `- note: add '@available' attribute to enclosing instance method
135 |         /*
136 |          Check the video authorization status. Video access is required and audio
    :
138 |          record audio during movie recording.
139 |          */
140 |         switch AVCaptureDevice.authorizationStatus(for: .video) {
    |                |- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                `- note: add 'if #available' version check
141 |         case .authorized:
142 |             // The user has previously granted access to the camera.
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:140:32: error: 'authorizationStatus(for:)' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
132 |
133 |     //        MARK: Checks for permisions, setup obeservers and starts running session
134 |     public func checkForPermissions() {
    |                 `- note: add '@available' attribute to enclosing instance method
135 |         /*
136 |          Check the video authorization status. Video access is required and audio
    :
138 |          record audio during movie recording.
139 |          */
140 |         switch AVCaptureDevice.authorizationStatus(for: .video) {
    |                                |- error: 'authorizationStatus(for:)' is only available in tvOS 17.0 or newer
    |                                `- note: add 'if #available' version check
141 |         case .authorized:
142 |             // The user has previously granted access to the camera.
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:154:13: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
132 |
133 |     //        MARK: Checks for permisions, setup obeservers and starts running session
134 |     public func checkForPermissions() {
    |                 `- note: add '@available' attribute to enclosing instance method
135 |         /*
136 |          Check the video authorization status. Video access is required and audio
    :
152 |              */
153 |             sessionQueue.suspend()
154 |             AVCaptureDevice.requestAccess(for: .video, completionHandler: { granted in
    |             |- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |             `- note: add 'if #available' version check
155 |                 if !granted {
156 |                     self.setupResult = .notAuthorized
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:154:29: error: 'requestAccess(for:completionHandler:)' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
132 |
133 |     //        MARK: Checks for permisions, setup obeservers and starts running session
134 |     public func checkForPermissions() {
    |                 `- note: add '@available' attribute to enclosing instance method
135 |         /*
136 |          Check the video authorization status. Video access is required and audio
    :
152 |              */
153 |             sessionQueue.suspend()
154 |             AVCaptureDevice.requestAccess(for: .video, completionHandler: { granted in
    |                             |- error: 'requestAccess(for:completionHandler:)' is only available in tvOS 17.0 or newer
    |                             `- note: add 'if #available' version check
155 |                 if !granted {
156 |                     self.setupResult = .notAuthorized
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:193:34: error: 'photo' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
191 |          Live Photo is not supported when AVCaptureMovieFileOutput is added to the session.
192 |          */
193 |         session.sessionPreset = .photo
    |                                  |- error: 'photo' is only available in tvOS 17.0 or newer
    |                                  `- note: add 'if #available' version check
194 |
195 |         // Add video input.
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:197:37: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
195 |         // Add video input.
196 |         do {
197 |             var defaultVideoDevice: AVCaptureDevice?
    |                                     |- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                                     `- note: add 'if #available' version check
198 |
199 |             if let backCameraDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .back) {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:199:39: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
197 |             var defaultVideoDevice: AVCaptureDevice?
198 |
199 |             if let backCameraDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .back) {
    |                                       |- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                                       `- note: add 'if #available' version check
200 |                 // If a rear dual camera is not available, default to the rear wide angle camera.
201 |                 defaultVideoDevice = backCameraDevice
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:199:55: error: 'default(_:for:position:)' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
197 |             var defaultVideoDevice: AVCaptureDevice?
198 |
199 |             if let backCameraDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .back) {
    |                                                       |- error: 'default(_:for:position:)' is only available in tvOS 17.0 or newer
    |                                                       `- note: add 'if #available' version check
200 |                 // If a rear dual camera is not available, default to the rear wide angle camera.
201 |                 defaultVideoDevice = backCameraDevice
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:199:64: error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
197 |             var defaultVideoDevice: AVCaptureDevice?
198 |
199 |             if let backCameraDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .back) {
    |                                                                |- error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
    |                                                                `- note: add 'if #available' version check
200 |                 // If a rear dual camera is not available, default to the rear wide angle camera.
201 |                 defaultVideoDevice = backCameraDevice
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:202:47: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
200 |                 // If a rear dual camera is not available, default to the rear wide angle camera.
201 |                 defaultVideoDevice = backCameraDevice
202 |             } else if let frontCameraDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .front) {
    |                                               |- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                                               `- note: add 'if #available' version check
203 |                 // If the rear wide angle camera isn't available, default to the front wide angle camera.
204 |                 defaultVideoDevice = frontCameraDevice
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:202:63: error: 'default(_:for:position:)' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
200 |                 // If a rear dual camera is not available, default to the rear wide angle camera.
201 |                 defaultVideoDevice = backCameraDevice
202 |             } else if let frontCameraDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .front) {
    |                                                               |- error: 'default(_:for:position:)' is only available in tvOS 17.0 or newer
    |                                                               `- note: add 'if #available' version check
203 |                 // If the rear wide angle camera isn't available, default to the front wide angle camera.
204 |                 defaultVideoDevice = frontCameraDevice
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:202:72: error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
200 |                 // If a rear dual camera is not available, default to the rear wide angle camera.
201 |                 defaultVideoDevice = backCameraDevice
202 |             } else if let frontCameraDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .front) {
    |                                                                        |- error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
    |                                                                        `- note: add 'if #available' version check
203 |                 // If the rear wide angle camera isn't available, default to the front wide angle camera.
204 |                 defaultVideoDevice = frontCameraDevice
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:214:40: error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
212 |             }
213 |
214 |             let videoDeviceInput = try AVCaptureDeviceInput(device: videoDevice)
    |                                        |- error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
    |                                        `- note: add 'if #available' version check
215 |
216 |             if session.canAddInput(videoDeviceInput) {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:237:25: error: 'isHighResolutionCaptureEnabled' is unavailable in tvOS
235 |             session.addOutput(photoOutput)
236 |
237 |             photoOutput.isHighResolutionCaptureEnabled = true
    |                         `- error: 'isHighResolutionCaptureEnabled' is unavailable in tvOS
238 |             photoOutput.maxPhotoQualityPrioritization = .quality
239 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCapturePhotoOutput.h:536:66: note: 'isHighResolutionCaptureEnabled' has been explicitly marked unavailable here
 534 |     Some AVCaptureDeviceFormats support outputting higher resolution stills than their streaming resolution (See AVCaptureDeviceFormat.highResolutionStillImageDimensions). Under some conditions, AVCaptureSession needs to set up the photo render pipeline differently to support high resolution still image capture. If you intend to take high resolution still images at all, you should set this property to YES before calling -[AVCaptureSession startRunning]. Once you've opted in for high resolution capture, you are free to issue photo capture requests with or without highResolutionCaptureEnabled in the AVCapturePhotoSettings. If you have not set this property to YES and call capturePhotoWithSettings:delegate: with settings.highResolutionCaptureEnabled set to YES, an NSInvalidArgumentException will be thrown.
 535 |  */
 536 | @property(nonatomic, getter=isHighResolutionCaptureEnabled) BOOL highResolutionCaptureEnabled API_DEPRECATED("Use maxPhotoDimensions instead.", macos(10.15, 13.0), ios(10.0, 16.0), macCatalyst(14.0, 16.0)) API_UNAVAILABLE(tvos, visionos);
     |                                                                  `- note: 'isHighResolutionCaptureEnabled' has been explicitly marked unavailable here
 537 |
 538 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:238:25: error: 'maxPhotoQualityPrioritization' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
180 |     // Call this on the session queue.
181 |     /// - Tag: ConfigureSession
182 |     private func configureSession() {
    |                  `- note: add '@available' attribute to enclosing instance method
183 |         if setupResult != .success {
184 |             return
    :
236 |
237 |             photoOutput.isHighResolutionCaptureEnabled = true
238 |             photoOutput.maxPhotoQualityPrioritization = .quality
    |                         |- error: 'maxPhotoQualityPrioritization' is only available in tvOS 17.0 or newer
    |                         `- note: add 'if #available' version check
239 |
240 |         } else {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:294:36: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
292 |             let currentPosition = currentVideoDevice.position
293 |
294 |             let preferredPosition: AVCaptureDevice.Position
    |                                    |- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                                    `- note: add 'if #available' version check
295 |             let preferredDeviceType: AVCaptureDevice.DeviceType
296 |
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:295:38: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
293 |
294 |             let preferredPosition: AVCaptureDevice.Position
295 |             let preferredDeviceType: AVCaptureDevice.DeviceType
    |                                      |- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                                      `- note: add 'if #available' version check
296 |
297 |             switch currentPosition {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:312:33: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
310 |             }
311 |             let devices = self.videoDeviceDiscoverySession.devices
312 |             var newVideoDevice: AVCaptureDevice? = nil
    |                                 |- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
    |                                 `- note: add 'if #available' version check
313 |
314 |             // First, seek a device with both the preferred position and device type. Otherwise, seek a device with only the preferred position.
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:300:40: error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
298 |             case .unspecified, .front:
299 |                 preferredPosition = .back
300 |                 preferredDeviceType = .builtInWideAngleCamera
    |                                        |- error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
    |                                        `- note: add 'if #available' version check
301 |
302 |             case .back:
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:304:40: error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
302 |             case .back:
303 |                 preferredPosition = .front
304 |                 preferredDeviceType = .builtInWideAngleCamera
    |                                        |- error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
    |                                        `- note: add 'if #available' version check
305 |
306 |             @unknown default:
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:309:40: error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
307 |                 print("Unknown capture position. Defaulting to back, dual-camera.")
308 |                 preferredPosition = .back
309 |                 preferredDeviceType = .builtInWideAngleCamera
    |                                        |- error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
    |                                        `- note: add 'if #available' version check
310 |             }
311 |             let devices = self.videoDeviceDiscoverySession.devices
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:315:91: error: 'deviceType' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
313 |
314 |             // First, seek a device with both the preferred position and device type. Otherwise, seek a device with only the preferred position.
315 |             if let device = devices.first(where: { $0.position == preferredPosition && $0.deviceType == preferredDeviceType }) {
    |                                                                                           |- error: 'deviceType' is only available in tvOS 17.0 or newer
    |                                                                                           `- note: add 'if #available' version check
316 |                 newVideoDevice = device
317 |             } else if let device = devices.first(where: { $0.position == preferredPosition }) {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:323:48: error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
321 |             if let videoDevice = newVideoDevice {
322 |                 do {
323 |                     let videoDeviceInput = try AVCaptureDeviceInput(device: videoDevice)
    |                                                |- error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
    |                                                `- note: add 'if #available' version check
324 |
325 |                     self.session.beginConfiguration()
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:332:80: error: 'AVCaptureDeviceSubjectAreaDidChange' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
330 |
331 |                     if self.session.canAddInput(videoDeviceInput) {
332 |                         NotificationCenter.default.removeObserver(self, name: .AVCaptureDeviceSubjectAreaDidChange, object: currentVideoDevice)
    |                                                                                |- error: 'AVCaptureDeviceSubjectAreaDidChange' is only available in tvOS 17.0 or newer
    |                                                                                `- note: add 'if #available' version check
333 |                         NotificationCenter.default.addObserver(self, selector: #selector(self.subjectAreaDidChange), name: .AVCaptureDeviceSubjectAreaDidChange, object: videoDeviceInput.device)
334 |
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:333:125: error: 'AVCaptureDeviceSubjectAreaDidChange' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
331 |                     if self.session.canAddInput(videoDeviceInput) {
332 |                         NotificationCenter.default.removeObserver(self, name: .AVCaptureDeviceSubjectAreaDidChange, object: currentVideoDevice)
333 |                         NotificationCenter.default.addObserver(self, selector: #selector(self.subjectAreaDidChange), name: .AVCaptureDeviceSubjectAreaDidChange, object: videoDeviceInput.device)
    |                                                                                                                             |- error: 'AVCaptureDeviceSubjectAreaDidChange' is only available in tvOS 17.0 or newer
    |                                                                                                                             `- note: add 'if #available' version check
334 |
335 |                         self.session.addInput(videoDeviceInput)
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:341:58: error: 'connection(with:)' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
339 |                     }
340 |
341 |                     if let connection = self.photoOutput.connection(with: .video) {
    |                                                          |- error: 'connection(with:)' is only available in tvOS 17.0 or newer
    |                                                          `- note: add 'if #available' version check
342 |                         if connection.isVideoStabilizationSupported {
343 |                             connection.preferredVideoStabilizationMode = .auto
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:342:39: error: 'isVideoStabilizationSupported' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
340 |
341 |                     if let connection = self.photoOutput.connection(with: .video) {
342 |                         if connection.isVideoStabilizationSupported {
    |                                       |- error: 'isVideoStabilizationSupported' is only available in tvOS 17.0 or newer
    |                                       `- note: add 'if #available' version check
343 |                             connection.preferredVideoStabilizationMode = .auto
344 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:343:40: error: 'preferredVideoStabilizationMode' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
341 |                     if let connection = self.photoOutput.connection(with: .video) {
342 |                         if connection.isVideoStabilizationSupported {
343 |                             connection.preferredVideoStabilizationMode = .auto
    |                                        |- error: 'preferredVideoStabilizationMode' is only available in tvOS 17.0 or newer
    |                                        `- note: add 'if #available' version check
344 |                         }
345 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:347:38: error: 'maxPhotoQualityPrioritization' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
281 |
282 |     /// - Tag: ChangeCamera
283 |     public func changeCamera() {
    |                 `- note: add '@available' attribute to enclosing instance method
284 |         //        MARK: Here disable all camera operation related buttons due to configuration is due upon and must not be interrupted
285 |         DispatchQueue.main.async {
    :
345 |                     }
346 |
347 |                     self.photoOutput.maxPhotoQualityPrioritization = .quality
    |                                      |- error: 'maxPhotoQualityPrioritization' is only available in tvOS 17.0 or newer
    |                                      `- note: add 'if #available' version check
348 |
349 |                     self.session.commitConfiguration()
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:382:24: error: 'isSubjectAreaChangeMonitoringEnabled' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
360 |     }
361 |
362 |     public func focus(with focusMode: AVCaptureDevice.FocusMode, exposureMode: AVCaptureDevice.ExposureMode, at devicePoint: CGPoint, monitorSubjectAreaChange: Bool) {
    |                 `- note: add '@available' attribute to enclosing instance method
363 |         sessionQueue.async {
364 |             guard let device = self.videoDeviceInput?.device else { return }
    :
380 |                 }
381 |
382 |                 device.isSubjectAreaChangeMonitoringEnabled = monitorSubjectAreaChange
    |                        |- error: 'isSubjectAreaChangeMonitoringEnabled' is only available in tvOS 17.0 or newer
    |                        `- note: add 'if #available' version check
383 |                 device.unlockForConfiguration()
384 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift:472:20: error: 'videoZoomFactor' is only available in tvOS 17.0 or newer
 58 | }
 59 |
 60 | public class CameraService: NSObject, Identifiable {
    |              `- note: add '@available' attribute to enclosing class
 61 |     typealias PhotoCaptureSessionID = String
 62 |
    :
464 |     }
465 |
466 |     public func set(zoom: CGFloat){
    |                 `- note: add '@available' attribute to enclosing instance method
467 |         let factor = zoom < 1 ? 1 : zoom
468 |         let device = self.videoDeviceInput.device
    :
470 |         do {
471 |             try device.lockForConfiguration()
472 |             device.videoZoomFactor = factor
    |                    |- error: 'videoZoomFactor' is only available in tvOS 17.0 or newer
    |                    `- note: add 'if #available' version check
473 |             device.unlockForConfiguration()
474 |         }
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService.swift (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CameraService.swift
SwiftCompile normal arm64 Compiling\ CameraService+Extensions.swift /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Extensions.swift (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Extensions.swift:14:30: error: 'UIDeviceOrientation' is unavailable in tvOS
12 |
13 | extension AVCaptureVideoOrientation {
14 |     init?(deviceOrientation: UIDeviceOrientation) {
   |                              `- error: 'UIDeviceOrientation' is unavailable in tvOS
15 |         switch deviceOrientation {
16 |         case .portrait: self = .portrait
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIOrientation.h:13:28: note: 'UIDeviceOrientation' has been explicitly marked unavailable here
11 | NS_HEADER_AUDIT_BEGIN(nullability, sendability)
12 |
13 | typedef NS_ENUM(NSInteger, UIDeviceOrientation) {
   |                            `- note: 'UIDeviceOrientation' has been explicitly marked unavailable here
14 |     UIDeviceOrientationUnknown,
15 |     UIDeviceOrientationPortrait,            // Device oriented vertically, home button on the bottom
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Extensions.swift:24:33: error: 'UIInterfaceOrientation' is unavailable in tvOS
22 |     }
23 |
24 |     init?(interfaceOrientation: UIInterfaceOrientation) {
   |                                 `- error: 'UIInterfaceOrientation' is unavailable in tvOS
25 |         switch interfaceOrientation {
26 |         case .portrait: self = .portrait
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIOrientation.h:41:28: note: 'UIInterfaceOrientation' has been explicitly marked unavailable here
39 | // Note that UIInterfaceOrientationLandscapeLeft is equal to UIDeviceOrientationLandscapeRight (and vice versa).
40 | // This is because rotating the device to the left requires rotating the content to the right.
41 | typedef NS_ENUM(NSInteger, UIInterfaceOrientation) {
   |                            `- note: 'UIInterfaceOrientation' has been explicitly marked unavailable here
42 |     UIInterfaceOrientationUnknown            = UIDeviceOrientationUnknown,
43 |     UIInterfaceOrientationPortrait           = UIDeviceOrientationPortrait,
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Extensions.swift:13:11: error: 'AVCaptureVideoOrientation' is unavailable in tvOS
11 | import AVFoundation
12 |
13 | extension AVCaptureVideoOrientation {
   |           `- error: 'AVCaptureVideoOrientation' is unavailable in tvOS
14 |     init?(deviceOrientation: UIDeviceOrientation) {
15 |         switch deviceOrientation {
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVCaptureDevice.h:104:28: note: 'AVCaptureVideoOrientation' has been explicitly marked unavailable here
 102 |
 103 | /// Constants indicating video orientation, for use with AVCaptureDeviceRotationCoordinator.
 104 | typedef NS_ENUM(NSInteger, AVCaptureVideoOrientation) {
     |                            `- note: 'AVCaptureVideoOrientation' has been explicitly marked unavailable here
 105 |     /// Indicates that video should be oriented vertically, port on the bottom.
 106 |     AVCaptureVideoOrientationPortrait           = 1,
/Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Extensions.swift:35:11: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
33 | }
34 |
35 | extension AVCaptureDevice.DiscoverySession {
   | |         `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
   | `- note: add '@available' attribute to enclosing extension
36 |     var uniqueDevicePositionsCount: Int {
37 |
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/CameraService+Extensions.swift (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CameraService+Extensions.swift
SwiftCompile normal arm64 Compiling\ ImageResizer.swift /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/ImageResizer.swift (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/Camera-SwiftUI/Service/ImageResizer.swift (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ImageResizer.swift
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
2026-09-19 17:08:05.375 xcodebuild[757:4695] [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\ Camera_SwiftUI (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
	SwiftCompile normal arm64 (in target 'Camera-SwiftUI' from project 'Camera-SwiftUI')
	Building workspace Camera-SwiftUI with scheme Camera-SwiftUI
(3 failures)
BUILD FAILURE 6.4 tvOS