Build Information
Failed to build CameraCapture, reference main (d84247), with Swift 6.4 for tvOS using Xcode 27.0 on 20 Sep 2026 12:28:37 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 CameraCapture -destination generic/platform=tvOSBuild Log
22 | .builtInDualWideCamera,
23 | .builtInTripleCamera,
| |- error: 'builtInTripleCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
24 | .builtInWideAngleCamera,
25 | .builtInTelephotoCamera,
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift:24:86: error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
7 | }
8 |
9 | class AVCaptureDeviceDataSource: DataSource {
| `- note: add '@available' attribute to enclosing class
10 |
11 | private let captureSession: AVCaptureSession
:
18 | }
19 |
20 | var cameras: [Device] {
| `- note: add '@available' attribute to enclosing property
21 | let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInDualCamera,
22 | .builtInDualWideCamera,
23 | .builtInTripleCamera,
24 | .builtInWideAngleCamera,
| |- error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
25 | .builtInTelephotoCamera,
26 | .builtInUltraWideCamera],
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift:25:86: error: 'builtInTelephotoCamera' is only available in tvOS 17.0 or newer
7 | }
8 |
9 | class AVCaptureDeviceDataSource: DataSource {
| `- note: add '@available' attribute to enclosing class
10 |
11 | private let captureSession: AVCaptureSession
:
18 | }
19 |
20 | var cameras: [Device] {
| `- note: add '@available' attribute to enclosing property
21 | let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInDualCamera,
22 | .builtInDualWideCamera,
23 | .builtInTripleCamera,
24 | .builtInWideAngleCamera,
25 | .builtInTelephotoCamera,
| |- error: 'builtInTelephotoCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
26 | .builtInUltraWideCamera],
27 | mediaType: AVMediaType.video,
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AVDataSource.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVFlashController.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AVFlashController.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVFocusController.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AVFocusController.swift
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift:26:86: error: 'builtInUltraWideCamera' is only available in tvOS 17.0 or newer
7 | }
8 |
9 | class AVCaptureDeviceDataSource: DataSource {
| `- note: add '@available' attribute to enclosing class
10 |
11 | private let captureSession: AVCaptureSession
:
18 | }
19 |
20 | var cameras: [Device] {
| `- note: add '@available' attribute to enclosing property
21 | let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInDualCamera,
22 | .builtInDualWideCamera,
:
24 | .builtInWideAngleCamera,
25 | .builtInTelephotoCamera,
26 | .builtInUltraWideCamera],
| |- error: 'builtInUltraWideCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
27 | mediaType: AVMediaType.video,
28 | position: .unspecified)
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift:37:60: error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
7 | }
8 |
9 | class AVCaptureDeviceDataSource: DataSource {
| `- note: add '@available' attribute to enclosing class
10 |
11 | private let captureSession: AVCaptureSession
:
34 | }
35 |
36 | var selectedCamera: Device? {
| `- note: add '@available' attribute to enclosing property
37 | guard let camera = captureSession.inputs.first as? AVCaptureDeviceInput else {
| |- error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
38 | return nil
39 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVFocusController.swift:9:26: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
5 | }
6 |
7 | class AVFocusController: FocusController {
| `- note: add '@available' attribute to enclosing class
8 |
9 | private let session: AVCaptureSession
| `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
10 |
11 | init(session: AVCaptureSession) {
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVFocusController.swift:11:19: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
5 | }
6 |
7 | class AVFocusController: FocusController {
| `- note: add '@available' attribute to enclosing class
8 |
9 | private let session: AVCaptureSession
10 |
11 | init(session: AVCaptureSession) {
| | `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing initializer
12 | self.session = session
13 | }
SwiftCompile normal arm64 Compiling\ AVCameraController.swift,\ AVCameraSession.swift,\ AVCaptureDelegate.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraController.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraSession.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCaptureDelegate.swift (in target 'CameraCapture' from project 'CameraCapture')
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraController.swift:12:30: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
8 | }
9 |
10 | class AVCameraController: CameraController {
| `- note: add '@available' attribute to enclosing class
11 |
12 | private let photoOutput: AVCapturePhotoOutput
| `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
13 | private let delegate = AVCaptureDelegate()
14 |
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraController.swift:15:23: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
8 | }
9 |
10 | class AVCameraController: CameraController {
| `- note: add '@available' attribute to enclosing class
11 |
12 | private let photoOutput: AVCapturePhotoOutput
13 | private let delegate = AVCaptureDelegate()
14 |
15 | init(photoOutput: AVCapturePhotoOutput) {
| | `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing initializer
16 | self.photoOutput = photoOutput
17 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraController.swift:36:50: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
33 | }
34 |
35 | enum CameraFlashToAVSettings {
| `- note: add '@available' attribute to enclosing enum
36 | static func adapt(flashState: FlashState) -> AVCaptureDevice.FlashMode {
| | `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing static method
37 | switch flashState {
38 | case .on:
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraController.swift:49:58: error: 'AVCaptureVideoOrientation' is unavailable in tvOS
47 |
48 | enum CameraOrientationToAVSettings {
49 | static func adapt(orientation: CameraOrientation) -> AVCaptureVideoOrientation {
| `- error: 'AVCaptureVideoOrientation' is unavailable in tvOS
50 | switch orientation {
51 | case .landscapeLeft:
/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/CameraCapture/Implementation/AVFoundation/AVCameraController.swift:23:24: error: 'AVCapturePhotoSettings' is only available in tvOS 17.0 or newer
8 | }
9 |
10 | class AVCameraController: CameraController {
| `- note: add '@available' attribute to enclosing class
11 |
12 | private let photoOutput: AVCapturePhotoOutput
:
17 | }
18 |
19 | func takePhoto(with settings: CameraSettings,
| `- note: add '@available' attribute to enclosing instance method
20 | flashState: FlashState,
21 | handler: CaptureHandler) {
22 | delegate.set(handler)
23 | let settings = AVCapturePhotoSettings(format: [AVVideoCodecKey: CameraSettingsToAVSettings.adapt(settings: settings)])
| |- error: 'AVCapturePhotoSettings' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
24 | settings.flashMode = CameraFlashToAVSettings.adapt(flashState: flashState)
25 | photoOutput.capturePhoto(with: settings,
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraController.swift:31:21: error: 'connection(with:)' is only available in tvOS 17.0 or newer
8 | }
9 |
10 | class AVCameraController: CameraController {
| `- note: add '@available' attribute to enclosing class
11 |
12 | private let photoOutput: AVCapturePhotoOutput
:
28 | }
29 |
30 | func rotate(with orientation: CameraOrientation) {
| `- note: add '@available' attribute to enclosing instance method
31 | photoOutput.connection(with: .video)?.videoOrientation = CameraOrientationToAVSettings.adapt(orientation: orientation)
| |- error: 'connection(with:)' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
32 | }
33 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraController.swift:31:47: error: 'videoOrientation' is unavailable in tvOS
29 |
30 | func rotate(with orientation: CameraOrientation) {
31 | photoOutput.connection(with: .video)?.videoOrientation = CameraOrientationToAVSettings.adapt(orientation: orientation)
| `- error: 'videoOrientation' is unavailable in tvOS
32 | }
33 | }
/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 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraSession.swift:13:33: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
10 | }
11 |
12 | class AVCameraSession: CameraSesion {
| `- note: add '@available' attribute to enclosing class
13 | private let captureSession: AVCaptureSession
| `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
14 | private let flashDataSource: FlashDataSource
15 |
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraSession.swift:31:26: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
10 | }
11 |
12 | class AVCameraSession: CameraSesion {
| `- note: add '@available' attribute to enclosing class
13 | private let captureSession: AVCaptureSession
14 | private let flashDataSource: FlashDataSource
:
29 | }
30 |
31 | init(captureSession: AVCaptureSession,
| | `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing initializer
32 | flashDataSource: FlashDataSource) {
33 | self.captureSession = captureSession
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraSession.swift:25:60: error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
10 | }
11 |
12 | class AVCameraSession: CameraSesion {
| `- note: add '@available' attribute to enclosing class
13 | private let captureSession: AVCaptureSession
14 | private let flashDataSource: FlashDataSource
:
22 | }
23 |
24 | var selectedCamera: Device? {
| `- note: add '@available' attribute to enclosing property
25 | guard let camera = captureSession.inputs.first as? AVCaptureDeviceInput else {
| |- error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
26 | return nil
27 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraSession.swift:44:28: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
10 | }
11 |
12 | class AVCameraSession: CameraSesion {
| `- note: add '@available' attribute to enclosing class
13 | private let captureSession: AVCaptureSession
14 | private let flashDataSource: FlashDataSource
:
41 | }
42 |
43 | func addInput(with id: String) {
| `- note: add '@available' attribute to enclosing instance method
44 | guard let device = AVCaptureDevice(uniqueID: id),
| |- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
45 | let captureDeviceInput = try? AVCaptureDeviceInput(device: device) else {
46 | return
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraSession.swift:45:45: error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
10 | }
11 |
12 | class AVCameraSession: CameraSesion {
| `- note: add '@available' attribute to enclosing class
13 | private let captureSession: AVCaptureSession
14 | private let flashDataSource: FlashDataSource
:
41 | }
42 |
43 | func addInput(with id: String) {
| `- note: add '@available' attribute to enclosing instance method
44 | guard let device = AVCaptureDevice(uniqueID: id),
45 | let captureDeviceInput = try? AVCaptureDeviceInput(device: device) else {
| |- error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
46 | return
47 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraSession.swift:49:41: error: 'high' is only available in tvOS 17.0 or newer
10 | }
11 |
12 | class AVCameraSession: CameraSesion {
| `- note: add '@available' attribute to enclosing class
13 | private let captureSession: AVCaptureSession
14 | private let flashDataSource: FlashDataSource
:
41 | }
42 |
43 | func addInput(with id: String) {
| `- note: add '@available' attribute to enclosing instance method
44 | guard let device = AVCaptureDevice(uniqueID: id),
45 | let captureDeviceInput = try? AVCaptureDeviceInput(device: device) else {
:
47 | }
48 |
49 | captureSession.sessionPreset = .high
| |- error: 'high' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
50 | if captureSession.canAddInput(captureDeviceInput) {
51 | captureSession.addInput(captureDeviceInput)
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraSession.swift:52:52: error: 'hd4K3840x2160' is only available in tvOS 17.0 or newer
10 | }
11 |
12 | class AVCameraSession: CameraSesion {
| `- note: add '@available' attribute to enclosing class
13 | private let captureSession: AVCaptureSession
14 | private let flashDataSource: FlashDataSource
:
41 | }
42 |
43 | func addInput(with id: String) {
| `- note: add '@available' attribute to enclosing instance method
44 | guard let device = AVCaptureDevice(uniqueID: id),
45 | let captureDeviceInput = try? AVCaptureDeviceInput(device: device) else {
:
50 | if captureSession.canAddInput(captureDeviceInput) {
51 | captureSession.addInput(captureDeviceInput)
52 | if captureSession.canSetSessionPreset(.hd4K3840x2160) {
| |- error: 'hd4K3840x2160' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
53 | captureSession.sessionPreset = .hd4K3840x2160
54 | } else if captureSession.canSetSessionPreset(.hd1920x1080) {
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraSession.swift:53:49: error: 'hd4K3840x2160' is only available in tvOS 17.0 or newer
10 | }
11 |
12 | class AVCameraSession: CameraSesion {
| `- note: add '@available' attribute to enclosing class
13 | private let captureSession: AVCaptureSession
14 | private let flashDataSource: FlashDataSource
:
41 | }
42 |
43 | func addInput(with id: String) {
| `- note: add '@available' attribute to enclosing instance method
44 | guard let device = AVCaptureDevice(uniqueID: id),
45 | let captureDeviceInput = try? AVCaptureDeviceInput(device: device) else {
:
51 | captureSession.addInput(captureDeviceInput)
52 | if captureSession.canSetSessionPreset(.hd4K3840x2160) {
53 | captureSession.sessionPreset = .hd4K3840x2160
| |- error: 'hd4K3840x2160' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
54 | } else if captureSession.canSetSessionPreset(.hd1920x1080) {
55 | captureSession.sessionPreset = .hd1920x1080
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraSession.swift:54:59: error: 'hd1920x1080' is only available in tvOS 17.0 or newer
10 | }
11 |
12 | class AVCameraSession: CameraSesion {
| `- note: add '@available' attribute to enclosing class
13 | private let captureSession: AVCaptureSession
14 | private let flashDataSource: FlashDataSource
:
41 | }
42 |
43 | func addInput(with id: String) {
| `- note: add '@available' attribute to enclosing instance method
44 | guard let device = AVCaptureDevice(uniqueID: id),
45 | let captureDeviceInput = try? AVCaptureDeviceInput(device: device) else {
:
52 | if captureSession.canSetSessionPreset(.hd4K3840x2160) {
53 | captureSession.sessionPreset = .hd4K3840x2160
54 | } else if captureSession.canSetSessionPreset(.hd1920x1080) {
| |- error: 'hd1920x1080' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
55 | captureSession.sessionPreset = .hd1920x1080
56 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraSession.swift:55:49: error: 'hd1920x1080' is only available in tvOS 17.0 or newer
10 | }
11 |
12 | class AVCameraSession: CameraSesion {
| `- note: add '@available' attribute to enclosing class
13 | private let captureSession: AVCaptureSession
14 | private let flashDataSource: FlashDataSource
:
41 | }
42 |
43 | func addInput(with id: String) {
| `- note: add '@available' attribute to enclosing instance method
44 | guard let device = AVCaptureDevice(uniqueID: id),
45 | let captureDeviceInput = try? AVCaptureDeviceInput(device: device) else {
:
53 | captureSession.sessionPreset = .hd4K3840x2160
54 | } else if captureSession.canSetSessionPreset(.hd1920x1080) {
55 | captureSession.sessionPreset = .hd1920x1080
| |- error: 'hd1920x1080' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
56 | } else {
57 | captureSession.sessionPreset = .high
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraSession.swift:57:49: error: 'high' is only available in tvOS 17.0 or newer
10 | }
11 |
12 | class AVCameraSession: CameraSesion {
| `- note: add '@available' attribute to enclosing class
13 | private let captureSession: AVCaptureSession
14 | private let flashDataSource: FlashDataSource
:
41 | }
42 |
43 | func addInput(with id: String) {
| `- note: add '@available' attribute to enclosing instance method
44 | guard let device = AVCaptureDevice(uniqueID: id),
45 | let captureDeviceInput = try? AVCaptureDeviceInput(device: device) else {
:
55 | captureSession.sessionPreset = .hd1920x1080
56 | } else {
57 | captureSession.sessionPreset = .high
| |- error: 'high' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
58 | }
59 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCaptureDelegate.swift:12:32: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
2 | import UIKit
3 |
4 | class AVCaptureDelegate: NSObject, AVCapturePhotoCaptureDelegate {
| `- note: add '@available' attribute to enclosing class
5 |
6 | private var handler: CaptureHandler?
:
10 | }
11 |
12 | 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
13 | handler?.didCapturePhoto(photo.fileDataRepresentation(with: Customizer(photo: photo)), error: error)
14 | }
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraController.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AVCameraController.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraSession.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AVCameraSession.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCaptureDelegate.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AVCaptureDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCaptureDelegate.swift:12:86: error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
2 | import UIKit
3 |
4 | class AVCaptureDelegate: NSObject, AVCapturePhotoCaptureDelegate {
| `- note: add '@available' attribute to enclosing class
5 |
6 | private var handler: CaptureHandler?
:
10 | }
11 |
12 | 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
13 | handler?.didCapturePhoto(photo.fileDataRepresentation(with: Customizer(photo: photo)), error: error)
14 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCaptureDelegate.swift:18:28: error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
14 | }
15 |
16 | class Customizer: NSObject, AVCapturePhotoFileDataRepresentationCustomizer {
| `- note: add '@available' attribute to enclosing class
17 |
18 | private let photo: AVCapturePhoto
| `- error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
19 |
20 | init(photo: AVCapturePhoto) {
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCaptureDelegate.swift:20:21: error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
14 | }
15 |
16 | class Customizer: NSObject, AVCapturePhotoFileDataRepresentationCustomizer {
| `- note: add '@available' attribute to enclosing class
17 |
18 | private let photo: AVCapturePhoto
19 |
20 | init(photo: AVCapturePhoto) {
| | `- error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing initializer
21 | self.photo = photo
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCaptureDelegate.swift:24:45: error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
14 | }
15 |
16 | class Customizer: NSObject, AVCapturePhotoFileDataRepresentationCustomizer {
| `- note: add '@available' attribute to enclosing class
17 |
18 | private let photo: AVCapturePhoto
:
22 | }
23 |
24 | func replacementMetadata(for photo: AVCapturePhoto) -> [String : Any]? {
| | `- error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing instance method
25 | return photo.metadata
26 | }
SwiftCompile normal arm64 Compiling\ CameraFactory.swift,\ CameraSettings.swift,\ Device.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/CameraFactory.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/CameraSettings.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/Device.swift (in target 'CameraCapture' from project 'CameraCapture')
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public API/CameraFactory.swift:17:32: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
7 | This factory produces the public API for this package via the ``make()`` function. The API is in the ``Camera`` object.
8 | */
9 | public enum CameraFactory {
| `- note: add '@available' attribute to enclosing enum
10 |
11 | /**
:
14 | This function returns the API for the `Camera` package in the form of the ``Camera``.
15 | */
16 | public static func make() -> Camera {
| `- note: add '@available' attribute to enclosing static method
17 | let avCaptureSession = AVCaptureSession()
| |- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
18 |
19 | let photoOutput = AVCapturePhotoOutput()
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public API/CameraFactory.swift:19:27: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
7 | This factory produces the public API for this package via the ``make()`` function. The API is in the ``Camera`` object.
8 | */
9 | public enum CameraFactory {
| `- note: add '@available' attribute to enclosing enum
10 |
11 | /**
:
14 | This function returns the API for the `Camera` package in the form of the ``Camera``.
15 | */
16 | public static func make() -> Camera {
| `- note: add '@available' attribute to enclosing static method
17 | let avCaptureSession = AVCaptureSession()
18 |
19 | let photoOutput = AVCapturePhotoOutput()
| |- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
20 | avCaptureSession.addOutput(photoOutput)
21 | let previewLayer = AVCaptureVideoPreviewLayer(session: avCaptureSession)
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/CameraFactory.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile CameraFactory.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/CameraSettings.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile CameraSettings.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/Device.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Device.swift
SwiftCompile normal arm64 Compiling\ SetCameraUseCase.swift,\ SetFlashStateUseCase.swift,\ SetRotationUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetCameraUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetFlashStateUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetRotationUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetCameraUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SetCameraUseCase.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetFlashStateUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SetFlashStateUseCase.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetRotationUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SetRotationUseCase.swift
SwiftCompile normal arm64 Compiling\ PhotoCaptureError.swift,\ ZoomObserver.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/PhotoCaptureError.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/ZoomObserver.swift (in target 'CameraCapture' from project 'CameraCapture')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/PhotoCaptureError.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile PhotoCaptureError.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/ZoomObserver.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ZoomObserver.swift
SwiftCompile normal arm64 Compiling\ AVZoomController.swift,\ Adapters.swift,\ CameraRepo.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVZoomController.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/CameraRepo.swift (in target 'CameraCapture' from project 'CameraCapture')
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVZoomController.swift:9:26: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
5 | }
6 |
7 | class AVZoomController: ZoomController {
| `- note: add '@available' attribute to enclosing class
8 |
9 | private let session: AVCaptureSession
| `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
10 |
11 | init(session: AVCaptureSession) {
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVZoomController.swift:11:19: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
5 | }
6 |
7 | class AVZoomController: ZoomController {
| `- note: add '@available' attribute to enclosing class
8 |
9 | private let session: AVCaptureSession
10 |
11 | init(session: AVCaptureSession) {
| | `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing initializer
12 | self.session = session
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVZoomController.swift:16:53: error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
5 | }
6 |
7 | class AVZoomController: ZoomController {
| `- note: add '@available' attribute to enclosing class
8 |
9 | private let session: AVCaptureSession
:
13 | }
14 |
15 | func zoom(to value: Double) throws {
| `- note: add '@available' attribute to enclosing instance method
16 | guard let camera = session.inputs.first as? AVCaptureDeviceInput else {
| |- error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
17 | throw ZoomError.noSelectedCamera
18 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVZoomController.swift:23:27: error: 'videoZoomFactor' is only available in tvOS 17.0 or newer
5 | }
6 |
7 | class AVZoomController: ZoomController {
| `- note: add '@available' attribute to enclosing class
8 |
9 | private let session: AVCaptureSession
:
13 | }
14 |
15 | func zoom(to value: Double) throws {
| `- note: add '@available' attribute to enclosing instance method
16 | guard let camera = session.inputs.first as? AVCaptureDeviceInput else {
17 | throw ZoomError.noSelectedCamera
:
21 | let _ = try camera.device.lockForConfiguration()
22 |
23 | camera.device.videoZoomFactor = value
| |- error: 'videoZoomFactor' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
24 |
25 | camera.device.unlockForConfiguration()
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:31:31: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| | `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:59:39: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
:
57 | }
58 |
59 | private static func adapt(device: AVCaptureDevice.DeviceType?) -> DeviceType {
| | `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing static method
60 | guard let device = device else {
61 | return .unspecified
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:75:41: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
:
73 | }
74 |
75 | private static func adapt(position: AVCaptureDevice.Position) -> DevicePosition {
| | `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing static method
76 | switch position {
77 | case .back: return .back
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:34:23: error: 'deviceType' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
34 | switch device.deviceType {
| |- error: 'deviceType' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
35 | case .builtInDualWideCamera, .builtInTripleCamera:
36 | zoomOptions.append(0.5)
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:35:15: error: 'builtInDualWideCamera' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
34 | switch device.deviceType {
35 | case .builtInDualWideCamera, .builtInTripleCamera:
| |- error: 'builtInDualWideCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
36 | zoomOptions.append(0.5)
37 | break
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:35:39: error: 'builtInTripleCamera' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
34 | switch device.deviceType {
35 | case .builtInDualWideCamera, .builtInTripleCamera:
| |- error: 'builtInTripleCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
36 | zoomOptions.append(0.5)
37 | break
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:38:15: error: 'builtInDualCamera' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
36 | zoomOptions.append(0.5)
37 | break
38 | case .builtInDualCamera:
| |- error: 'builtInDualCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
39 | zoomOptions.append(1.0)
40 | break
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:45:47: error: 'virtualDeviceSwitchOverVideoZoomFactors' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
43 | }
44 |
45 | zoomOptions.append(contentsOf: device.virtualDeviceSwitchOverVideoZoomFactors.map { ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType),
| |- error: 'virtualDeviceSwitchOverVideoZoomFactors' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
46 | scale: $0.doubleValue) })
47 |
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:45:163: error: 'deviceType' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
43 | }
44 |
45 | zoomOptions.append(contentsOf: device.virtualDeviceSwitchOverVideoZoomFactors.map { ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType),
| |- error: 'deviceType' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
46 | scale: $0.doubleValue) })
47 |
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:49:55: error: 'deviceType' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
47 |
48 | return Device(id: device.uniqueID,
49 | type: self.adapt(device: device.deviceType),
| |- error: 'deviceType' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
50 | position: self.adapt(position: device.position),
51 | hasFlash: device.hasFlash,
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:54:106: error: 'deviceType' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
52 | flashState: flashDataSource.get(deviceId: device.uniqueID),
53 | zoomOptions: zoomOptions,
54 | currentZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.videoZoomFactor),
| |- error: 'deviceType' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
55 | maxZoom: min(ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.maxAvailableVideoZoomFactor), 10),
56 | minZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.minAvailableVideoZoomFactor))
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:54:133: error: 'videoZoomFactor' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
52 | flashState: flashDataSource.get(deviceId: device.uniqueID),
53 | zoomOptions: zoomOptions,
54 | currentZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.videoZoomFactor),
| |- error: 'videoZoomFactor' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
55 | maxZoom: min(ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.maxAvailableVideoZoomFactor), 10),
56 | minZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.minAvailableVideoZoomFactor))
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:55:106: error: 'deviceType' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
53 | zoomOptions: zoomOptions,
54 | currentZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.videoZoomFactor),
55 | maxZoom: min(ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.maxAvailableVideoZoomFactor), 10),
| |- error: 'deviceType' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
56 | minZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.minAvailableVideoZoomFactor))
57 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:55:133: error: 'maxAvailableVideoZoomFactor' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
53 | zoomOptions: zoomOptions,
54 | currentZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.videoZoomFactor),
55 | maxZoom: min(ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.maxAvailableVideoZoomFactor), 10),
| |- error: 'maxAvailableVideoZoomFactor' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
56 | minZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.minAvailableVideoZoomFactor))
57 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:56:102: error: 'deviceType' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
54 | currentZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.videoZoomFactor),
55 | maxZoom: min(ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.maxAvailableVideoZoomFactor), 10),
56 | minZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.minAvailableVideoZoomFactor))
| |- error: 'deviceType' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
57 | }
58 |
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:56:129: error: 'minAvailableVideoZoomFactor' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
54 | currentZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.videoZoomFactor),
55 | maxZoom: min(ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.maxAvailableVideoZoomFactor), 10),
56 | minZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.minAvailableVideoZoomFactor))
| |- error: 'minAvailableVideoZoomFactor' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
57 | }
58 |
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:64:15: error: 'builtInUltraWideCamera' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
:
57 | }
58 |
59 | private static func adapt(device: AVCaptureDevice.DeviceType?) -> DeviceType {
| `- note: add '@available' attribute to enclosing static method
60 | guard let device = device else {
61 | return .unspecified
62 | }
63 | switch device {
64 | case .builtInUltraWideCamera: return .ultraWideCamera
| |- error: 'builtInUltraWideCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
65 | case .builtInTelephotoCamera: return .telephotoCamera
66 | case .builtInWideAngleCamera: return .wideAngleCamera
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:65:15: error: 'builtInTelephotoCamera' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
:
57 | }
58 |
59 | private static func adapt(device: AVCaptureDevice.DeviceType?) -> DeviceType {
| `- note: add '@available' attribute to enclosing static method
60 | guard let device = device else {
61 | return .unspecified
:
63 | switch device {
64 | case .builtInUltraWideCamera: return .ultraWideCamera
65 | case .builtInTelephotoCamera: return .telephotoCamera
| |- error: 'builtInTelephotoCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
66 | case .builtInWideAngleCamera: return .wideAngleCamera
67 | case .builtInDualCamera: return .dualCamera
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:66:15: error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
:
57 | }
58 |
59 | private static func adapt(device: AVCaptureDevice.DeviceType?) -> DeviceType {
| `- note: add '@available' attribute to enclosing static method
60 | guard let device = device else {
61 | return .unspecified
:
64 | case .builtInUltraWideCamera: return .ultraWideCamera
65 | case .builtInTelephotoCamera: return .telephotoCamera
66 | case .builtInWideAngleCamera: return .wideAngleCamera
| |- error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
67 | case .builtInDualCamera: return .dualCamera
68 | case .builtInDualWideCamera: return .dualWideCamera
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:67:15: error: 'builtInDualCamera' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
:
57 | }
58 |
59 | private static func adapt(device: AVCaptureDevice.DeviceType?) -> DeviceType {
| `- note: add '@available' attribute to enclosing static method
60 | guard let device = device else {
61 | return .unspecified
:
65 | case .builtInTelephotoCamera: return .telephotoCamera
66 | case .builtInWideAngleCamera: return .wideAngleCamera
67 | case .builtInDualCamera: return .dualCamera
| |- error: 'builtInDualCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
68 | case .builtInDualWideCamera: return .dualWideCamera
69 | case .builtInTripleCamera: return .tripleCamera
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:68:15: error: 'builtInDualWideCamera' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
:
57 | }
58 |
59 | private static func adapt(device: AVCaptureDevice.DeviceType?) -> DeviceType {
| `- note: add '@available' attribute to enclosing static method
60 | guard let device = device else {
61 | return .unspecified
:
66 | case .builtInWideAngleCamera: return .wideAngleCamera
67 | case .builtInDualCamera: return .dualCamera
68 | case .builtInDualWideCamera: return .dualWideCamera
| |- error: 'builtInDualWideCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
69 | case .builtInTripleCamera: return .tripleCamera
70 | default:
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVZoomController.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AVZoomController.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Adapters.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/CameraRepo.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile CameraRepo.swift
SwiftCompile normal arm64 Compiling\ SetZoomUseCase.swift,\ StartCameraUseCase.swift,\ TakePhotoUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetZoomUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/StartCameraUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/TakePhotoUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetZoomUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SetZoomUseCase.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/StartCameraUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile StartCameraUseCase.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/TakePhotoUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile TakePhotoUseCase.swift
SwiftCompile normal arm64 Compiling\ Presenter.swift,\ PreviewView.swift,\ Camera.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/Presenter.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Camera.swift (in target 'CameraCapture' from project 'CameraCapture')
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift:6:31: error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
2 | import AVFoundation
3 |
4 | class PreviewView: UIView {
| `- note: add '@available' attribute to enclosing class
5 |
6 | private let previewLayer: AVCaptureVideoPreviewLayer
| `- error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
7 | private let presenter: Presenter
8 | private var pinchRecognizer: UIPinchGestureRecognizer!
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift:8:34: error: 'UIPinchGestureRecognizer' is unavailable in tvOS
6 | private let previewLayer: AVCaptureVideoPreviewLayer
7 | private let presenter: Presenter
8 | private var pinchRecognizer: UIPinchGestureRecognizer!
| `- error: 'UIPinchGestureRecognizer' is unavailable in tvOS
9 | private var tapRecognizer: UITapGestureRecognizer!
10 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPinchGestureRecognizer.h:20:12: note: 'UIPinchGestureRecognizer' has been explicitly marked unavailable here
18 |
19 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
20 | @interface UIPinchGestureRecognizer : UIGestureRecognizer
| `- note: 'UIPinchGestureRecognizer' has been explicitly marked unavailable here
21 |
22 | @property (nonatomic) CGFloat scale; // scale relative to the touch points in screen coordinates
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift:11:24: error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
2 | import AVFoundation
3 |
4 | class PreviewView: UIView {
| `- note: add '@available' attribute to enclosing class
5 |
6 | private let previewLayer: AVCaptureVideoPreviewLayer
:
9 | private var tapRecognizer: UITapGestureRecognizer!
10 |
11 | init(previewLayer: AVCaptureVideoPreviewLayer,
| | `- error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing initializer
12 | presenter: Presenter) {
13 | self.previewLayer = previewLayer
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift:47:52: error: 'UIDeviceOrientation' is unavailable in tvOS
45 | }
46 |
47 | private func videoOrientation(viewOrientation: UIDeviceOrientation) -> AVCaptureVideoOrientation? {
| `- error: 'UIDeviceOrientation' is unavailable in tvOS
48 | switch viewOrientation {
49 | case .portraitUpsideDown: return .portraitUpsideDown
/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/CameraCapture/Implementation/Views/PreviewView.swift:47:76: error: 'AVCaptureVideoOrientation' is unavailable in tvOS
45 | }
46 |
47 | private func videoOrientation(viewOrientation: UIDeviceOrientation) -> AVCaptureVideoOrientation? {
| `- error: 'AVCaptureVideoOrientation' is unavailable in tvOS
48 | switch viewOrientation {
49 | case .portraitUpsideDown: return .portraitUpsideDown
/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/CameraCapture/Implementation/Views/PreviewView.swift:57:53: error: 'UIDeviceOrientation' is unavailable in tvOS
55 | }
56 |
57 | private func cameraOrientation(viewOrientation: UIDeviceOrientation) -> CameraOrientation? {
| `- error: 'UIDeviceOrientation' is unavailable in tvOS
58 | switch viewOrientation {
59 | case .portraitUpsideDown: return .portraitUpsideDown
/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/CameraCapture/Implementation/Views/PreviewView.swift:67:36: error: 'UIPinchGestureRecognizer' is unavailable in tvOS
65 | }
66 |
67 | @IBAction func pinch(_ sender: UIPinchGestureRecognizer) {
| `- error: 'UIPinchGestureRecognizer' is unavailable in tvOS
68 | if sender.state == .changed {
69 | presenter.didZoomTo(sender.scale)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPinchGestureRecognizer.h:20:12: note: 'UIPinchGestureRecognizer' has been explicitly marked unavailable here
18 |
19 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
20 | @interface UIPinchGestureRecognizer : UIGestureRecognizer
| `- note: 'UIPinchGestureRecognizer' has been explicitly marked unavailable here
21 |
22 | @property (nonatomic) CGFloat scale; // scale relative to the touch points in screen coordinates
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift:20:27: error: 'UIPinchGestureRecognizer' is unavailable in tvOS
18 | layer.addSublayer(focusBoxLayer)
19 |
20 | pinchRecognizer = UIPinchGestureRecognizer(target: self, action:#selector(pinch(_:)))
| `- error: 'UIPinchGestureRecognizer' is unavailable in tvOS
21 | self.addGestureRecognizer(pinchRecognizer)
22 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPinchGestureRecognizer.h:20:12: note: 'UIPinchGestureRecognizer' has been explicitly marked unavailable here
18 |
19 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
20 | @interface UIPinchGestureRecognizer : UIGestureRecognizer
| `- note: 'UIPinchGestureRecognizer' has been explicitly marked unavailable here
21 |
22 | @property (nonatomic) CGFloat scale; // scale relative to the touch points in screen coordinates
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift:33:26: error: 'UIDeviceOrientation' is unavailable in tvOS
31 | func setupOrientation() {
32 | let currentDevice = UIDevice.current
33 | let orientation: UIDeviceOrientation = currentDevice.orientation
| `- error: 'UIDeviceOrientation' is unavailable in tvOS
34 | let videoOrientation: AVCaptureVideoOrientation = videoOrientation(viewOrientation: orientation) ?? .portrait
35 |
/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/CameraCapture/Implementation/Views/PreviewView.swift:33:62: error: 'orientation' is unavailable in tvOS
31 | func setupOrientation() {
32 | let currentDevice = UIDevice.current
33 | let orientation: UIDeviceOrientation = currentDevice.orientation
| `- error: 'orientation' is unavailable in tvOS
34 | let videoOrientation: AVCaptureVideoOrientation = videoOrientation(viewOrientation: orientation) ?? .portrait
35 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:44:51: note: 'orientation' has been explicitly marked unavailable here
42 | @property(nonatomic,readonly,strong) NSString *systemName; // e.g. @"iOS"
43 | @property(nonatomic,readonly,strong) NSString *systemVersion; // e.g. @"4.0"
44 | @property(nonatomic,readonly) UIDeviceOrientation orientation API_UNAVAILABLE(tvos, visionos); // return current device orientation. this will return UIDeviceOrientationUnknown unless device orientation notifications are being generated.
| `- note: 'orientation' has been explicitly marked unavailable here
45 |
46 | @property(nullable, nonatomic,readonly,strong) NSUUID *identifierForVendor API_AVAILABLE(ios(6.0)); // a UUID that may be used to uniquely identify the device, same across apps from a single vendor.
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift:34:31: error: 'AVCaptureVideoOrientation' is unavailable in tvOS
32 | let currentDevice = UIDevice.current
33 | let orientation: UIDeviceOrientation = currentDevice.orientation
34 | let videoOrientation: AVCaptureVideoOrientation = videoOrientation(viewOrientation: orientation) ?? .portrait
| `- error: 'AVCaptureVideoOrientation' is unavailable in tvOS
35 |
36 | previewLayer.frame = layer.bounds
/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/CameraCapture/Implementation/Views/PreviewView.swift:37:22: error: 'connection' is only available in tvOS 17.0 or newer
2 | import AVFoundation
3 |
4 | class PreviewView: UIView {
| `- note: add '@available' attribute to enclosing class
5 |
6 | private let previewLayer: AVCaptureVideoPreviewLayer
:
29 | }
30 |
31 | func setupOrientation() {
| `- note: add '@available' attribute to enclosing instance method
32 | let currentDevice = UIDevice.current
33 | let orientation: UIDeviceOrientation = currentDevice.orientation
:
35 |
36 | previewLayer.frame = layer.bounds
37 | previewLayer.connection?.videoOrientation = videoOrientation
| |- error: 'connection' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
38 |
39 | presenter.didRotateCamera(with: cameraOrientation(viewOrientation: orientation) ?? .portrait)
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/Presenter.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Presenter.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile PreviewView.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Camera.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Camera.swift
SwiftCompile normal arm64 Compiling\ CaptureHandler.swift,\ DefaultCamera.swift,\ SettingsRepo.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/CaptureHandler.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/DefaultCamera.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/SettingsRepo.swift (in target 'CameraCapture' from project 'CameraCapture')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/CaptureHandler.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile CaptureHandler.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/DefaultCamera.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile DefaultCamera.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/SettingsRepo.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SettingsRepo.swift
SwiftCompile normal arm64 Compiling\ FocusUseCase.swift,\ RetrieveAvailableCamerasUseCase.swift,\ RotateCameraUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/FocusUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/RetrieveAvailableCamerasUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/RotateCameraUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/FocusUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile FocusUseCase.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/RetrieveAvailableCamerasUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile RetrieveAvailableCamerasUseCase.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/RotateCameraUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile RotateCameraUseCase.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-20 08:28:26.351 xcodebuild[627:3899] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
2026-09-20 08:28:26.461 xcodebuild[627:3899] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
SwiftCompile normal arm64 (in target 'CameraCapture' from project 'CameraCapture')
SwiftEmitModule normal arm64 Emitting\ module\ for\ CameraCapture (in target 'CameraCapture' from project 'CameraCapture')
Building workspace CameraCapture with scheme CameraCapture
(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:
CameraCapture: /Users/admin/builder/spi-builder-workspace
resolved source packages: CameraCapture
2026-09-20 08:28:33.363 xcodebuild[742:4467] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
2026-09-20 08:28:33.519 xcodebuild[742:4467] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
{
"dependencies" : [
],
"manifest_display_name" : "CameraCapture",
"name" : "CameraCapture",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
}
],
"products" : [
{
"name" : "CameraCapture",
"targets" : [
"CameraCapture"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "CameraCaptureTests",
"module_type" : "SwiftTarget",
"name" : "CameraCaptureTests",
"path" : "Tests/CameraCaptureTests",
"sources" : [
"CameraSettingsToAVSettingsTests.swift",
"DeviceAdaptionTests.swift",
"FocusTests.swift",
"RetrieveAvailableCamerasTests.swift",
"RotateCameraTests.swift",
"SetCameraTests.swift",
"SetFlashStateTests.swift",
"StartCameraTests.swift",
"System.swift",
"TakePhotoTests.swift",
"ZoomTests.swift"
],
"target_dependencies" : [
"CameraCapture"
],
"type" : "test"
},
{
"c99name" : "CameraCapture",
"module_type" : "SwiftTarget",
"name" : "CameraCapture",
"path" : "Sources/CameraCapture",
"product_memberships" : [
"CameraCapture"
],
"sources" : [
"Implementation/AVFoundation/AVCameraController.swift",
"Implementation/AVFoundation/AVCameraSession.swift",
"Implementation/AVFoundation/AVCaptureDelegate.swift",
"Implementation/AVFoundation/AVDataSource.swift",
"Implementation/AVFoundation/AVFlashController.swift",
"Implementation/AVFoundation/AVFocusController.swift",
"Implementation/AVFoundation/AVZoomController.swift",
"Implementation/Adapters.swift",
"Implementation/CameraRepo.swift",
"Implementation/CaptureHandler.swift",
"Implementation/DefaultCamera.swift",
"Implementation/SettingsRepo.swift",
"Implementation/Use Cases/FocusUseCase.swift",
"Implementation/Use Cases/RetrieveAvailableCamerasUseCase.swift",
"Implementation/Use Cases/RotateCameraUseCase.swift",
"Implementation/Use Cases/SetCameraUseCase.swift",
"Implementation/Use Cases/SetFlashStateUseCase.swift",
"Implementation/Use Cases/SetRotationUseCase.swift",
"Implementation/Use Cases/SetZoomUseCase.swift",
"Implementation/Use Cases/StartCameraUseCase.swift",
"Implementation/Use Cases/TakePhotoUseCase.swift",
"Implementation/Views/Presenter.swift",
"Implementation/Views/PreviewView.swift",
"Public API/Camera.swift",
"Public API/CameraFactory.swift",
"Public API/Models/CameraSettings.swift",
"Public API/Models/Device.swift",
"Public API/Models/PhotoCaptureError.swift",
"Public API/Models/ZoomObserver.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
{
"workspace" : {
"name" : "CameraCapture",
"schemes" : [
"CameraCapture"
]
}
}
2026-09-20 08:28:34.626 xcodebuild[750:4534] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
2026-09-20 08:28:34.778 xcodebuild[750:4534] [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 CameraCapture -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 CameraCapture -destination generic/platform=tvOS
Resolve Package Graph
Resolved source packages:
CameraCapture: /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 'CameraCapture-product' in project 'CameraCapture'
➜ Explicit dependency on target 'CameraCapture' in project 'CameraCapture'
Target 'CameraCapture' in project 'CameraCapture' (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 CameraCapture normal arm64 com.apple.xcode.tools.swift.compiler (in target 'CameraCapture' from project 'CameraCapture')
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 CameraCapture -Onone @/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/Objects-normal/arm64/CameraCapture.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/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/Objects-normal/arm64/CameraCapture-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/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/Objects-normal/arm64/CameraCapture.swiftmodule -serialize-diagnostics -dependency-scan-serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/Objects-normal/arm64/CameraCapture-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 -package-name spi_builder_workspace -emit-const-values -const-gather-protocols-list /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/Objects-normal/arm64/CameraCapture_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/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CameraCapture.build/Debug-appletvos/CameraCapture-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/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/Objects-normal/arm64/CameraCapture-Swift.h -working-directory /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -experimental-emit-module-separately -disable-cmo
SwiftCompile normal arm64 Compiling\ AVDataSource.swift,\ AVFlashController.swift,\ AVFocusController.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVFlashController.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVFocusController.swift (in target 'CameraCapture' from project 'CameraCapture')
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift:11:33: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
7 | }
8 |
9 | class AVCaptureDeviceDataSource: DataSource {
| `- note: add '@available' attribute to enclosing class
10 |
11 | private let captureSession: AVCaptureSession
| `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
12 | private let flashDataSource: FlashDataSource
13 |
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift:14:26: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
7 | }
8 |
9 | class AVCaptureDeviceDataSource: DataSource {
| `- note: add '@available' attribute to enclosing class
10 |
11 | private let captureSession: AVCaptureSession
12 | private let flashDataSource: FlashDataSource
13 |
14 | init(captureSession: AVCaptureSession,
| | `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing initializer
15 | flashDataSource: FlashDataSource) {
16 | self.captureSession = captureSession
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift:21:38: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
7 | }
8 |
9 | class AVCaptureDeviceDataSource: DataSource {
| `- note: add '@available' attribute to enclosing class
10 |
11 | private let captureSession: AVCaptureSession
:
18 | }
19 |
20 | var cameras: [Device] {
| `- note: add '@available' attribute to enclosing property
21 | let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInDualCamera,
| |- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
22 | .builtInDualWideCamera,
23 | .builtInTripleCamera,
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift:21:86: error: 'builtInDualCamera' is only available in tvOS 17.0 or newer
7 | }
8 |
9 | class AVCaptureDeviceDataSource: DataSource {
| `- note: add '@available' attribute to enclosing class
10 |
11 | private let captureSession: AVCaptureSession
:
18 | }
19 |
20 | var cameras: [Device] {
| `- note: add '@available' attribute to enclosing property
21 | let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInDualCamera,
| |- error: 'builtInDualCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
22 | .builtInDualWideCamera,
23 | .builtInTripleCamera,
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift:22:86: error: 'builtInDualWideCamera' is only available in tvOS 17.0 or newer
7 | }
8 |
9 | class AVCaptureDeviceDataSource: DataSource {
| `- note: add '@available' attribute to enclosing class
10 |
11 | private let captureSession: AVCaptureSession
:
18 | }
19 |
20 | var cameras: [Device] {
| `- note: add '@available' attribute to enclosing property
21 | let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInDualCamera,
22 | .builtInDualWideCamera,
| |- error: 'builtInDualWideCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
23 | .builtInTripleCamera,
24 | .builtInWideAngleCamera,
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift:23:86: error: 'builtInTripleCamera' is only available in tvOS 17.0 or newer
7 | }
8 |
9 | class AVCaptureDeviceDataSource: DataSource {
| `- note: add '@available' attribute to enclosing class
10 |
11 | private let captureSession: AVCaptureSession
:
18 | }
19 |
20 | var cameras: [Device] {
| `- note: add '@available' attribute to enclosing property
21 | let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInDualCamera,
22 | .builtInDualWideCamera,
23 | .builtInTripleCamera,
| |- error: 'builtInTripleCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
24 | .builtInWideAngleCamera,
25 | .builtInTelephotoCamera,
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift:24:86: error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
7 | }
8 |
9 | class AVCaptureDeviceDataSource: DataSource {
| `- note: add '@available' attribute to enclosing class
10 |
11 | private let captureSession: AVCaptureSession
:
18 | }
19 |
20 | var cameras: [Device] {
| `- note: add '@available' attribute to enclosing property
21 | let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInDualCamera,
22 | .builtInDualWideCamera,
23 | .builtInTripleCamera,
24 | .builtInWideAngleCamera,
| |- error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
25 | .builtInTelephotoCamera,
26 | .builtInUltraWideCamera],
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift:25:86: error: 'builtInTelephotoCamera' is only available in tvOS 17.0 or newer
7 | }
8 |
9 | class AVCaptureDeviceDataSource: DataSource {
| `- note: add '@available' attribute to enclosing class
10 |
11 | private let captureSession: AVCaptureSession
:
18 | }
19 |
20 | var cameras: [Device] {
| `- note: add '@available' attribute to enclosing property
21 | let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInDualCamera,
22 | .builtInDualWideCamera,
23 | .builtInTripleCamera,
24 | .builtInWideAngleCamera,
25 | .builtInTelephotoCamera,
| |- error: 'builtInTelephotoCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
26 | .builtInUltraWideCamera],
27 | mediaType: AVMediaType.video,
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AVDataSource.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVFlashController.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AVFlashController.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVFocusController.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AVFocusController.swift
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift:26:86: error: 'builtInUltraWideCamera' is only available in tvOS 17.0 or newer
7 | }
8 |
9 | class AVCaptureDeviceDataSource: DataSource {
| `- note: add '@available' attribute to enclosing class
10 |
11 | private let captureSession: AVCaptureSession
:
18 | }
19 |
20 | var cameras: [Device] {
| `- note: add '@available' attribute to enclosing property
21 | let deviceDiscoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInDualCamera,
22 | .builtInDualWideCamera,
:
24 | .builtInWideAngleCamera,
25 | .builtInTelephotoCamera,
26 | .builtInUltraWideCamera],
| |- error: 'builtInUltraWideCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
27 | mediaType: AVMediaType.video,
28 | position: .unspecified)
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift:37:60: error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
7 | }
8 |
9 | class AVCaptureDeviceDataSource: DataSource {
| `- note: add '@available' attribute to enclosing class
10 |
11 | private let captureSession: AVCaptureSession
:
34 | }
35 |
36 | var selectedCamera: Device? {
| `- note: add '@available' attribute to enclosing property
37 | guard let camera = captureSession.inputs.first as? AVCaptureDeviceInput else {
| |- error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
38 | return nil
39 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVFocusController.swift:9:26: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
5 | }
6 |
7 | class AVFocusController: FocusController {
| `- note: add '@available' attribute to enclosing class
8 |
9 | private let session: AVCaptureSession
| `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
10 |
11 | init(session: AVCaptureSession) {
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVFocusController.swift:11:19: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
5 | }
6 |
7 | class AVFocusController: FocusController {
| `- note: add '@available' attribute to enclosing class
8 |
9 | private let session: AVCaptureSession
10 |
11 | init(session: AVCaptureSession) {
| | `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing initializer
12 | self.session = session
13 | }
SwiftCompile normal arm64 Compiling\ AVZoomController.swift,\ Adapters.swift,\ CameraRepo.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVZoomController.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/CameraRepo.swift (in target 'CameraCapture' from project 'CameraCapture')
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVZoomController.swift:9:26: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
5 | }
6 |
7 | class AVZoomController: ZoomController {
| `- note: add '@available' attribute to enclosing class
8 |
9 | private let session: AVCaptureSession
| `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
10 |
11 | init(session: AVCaptureSession) {
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVZoomController.swift:11:19: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
5 | }
6 |
7 | class AVZoomController: ZoomController {
| `- note: add '@available' attribute to enclosing class
8 |
9 | private let session: AVCaptureSession
10 |
11 | init(session: AVCaptureSession) {
| | `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing initializer
12 | self.session = session
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVZoomController.swift:16:53: error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
5 | }
6 |
7 | class AVZoomController: ZoomController {
| `- note: add '@available' attribute to enclosing class
8 |
9 | private let session: AVCaptureSession
:
13 | }
14 |
15 | func zoom(to value: Double) throws {
| `- note: add '@available' attribute to enclosing instance method
16 | guard let camera = session.inputs.first as? AVCaptureDeviceInput else {
| |- error: 'AVCaptureDeviceInput' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
17 | throw ZoomError.noSelectedCamera
18 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVZoomController.swift:23:27: error: 'videoZoomFactor' is only available in tvOS 17.0 or newer
5 | }
6 |
7 | class AVZoomController: ZoomController {
| `- note: add '@available' attribute to enclosing class
8 |
9 | private let session: AVCaptureSession
:
13 | }
14 |
15 | func zoom(to value: Double) throws {
| `- note: add '@available' attribute to enclosing instance method
16 | guard let camera = session.inputs.first as? AVCaptureDeviceInput else {
17 | throw ZoomError.noSelectedCamera
:
21 | let _ = try camera.device.lockForConfiguration()
22 |
23 | camera.device.videoZoomFactor = value
| |- error: 'videoZoomFactor' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
24 |
25 | camera.device.unlockForConfiguration()
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:31:31: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| | `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:59:39: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
:
57 | }
58 |
59 | private static func adapt(device: AVCaptureDevice.DeviceType?) -> DeviceType {
| | `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing static method
60 | guard let device = device else {
61 | return .unspecified
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:75:41: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
:
73 | }
74 |
75 | private static func adapt(position: AVCaptureDevice.Position) -> DevicePosition {
| | `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing static method
76 | switch position {
77 | case .back: return .back
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:34:23: error: 'deviceType' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
34 | switch device.deviceType {
| |- error: 'deviceType' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
35 | case .builtInDualWideCamera, .builtInTripleCamera:
36 | zoomOptions.append(0.5)
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:35:15: error: 'builtInDualWideCamera' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
34 | switch device.deviceType {
35 | case .builtInDualWideCamera, .builtInTripleCamera:
| |- error: 'builtInDualWideCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
36 | zoomOptions.append(0.5)
37 | break
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:35:39: error: 'builtInTripleCamera' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
34 | switch device.deviceType {
35 | case .builtInDualWideCamera, .builtInTripleCamera:
| |- error: 'builtInTripleCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
36 | zoomOptions.append(0.5)
37 | break
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:38:15: error: 'builtInDualCamera' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
36 | zoomOptions.append(0.5)
37 | break
38 | case .builtInDualCamera:
| |- error: 'builtInDualCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
39 | zoomOptions.append(1.0)
40 | break
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:45:47: error: 'virtualDeviceSwitchOverVideoZoomFactors' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
43 | }
44 |
45 | zoomOptions.append(contentsOf: device.virtualDeviceSwitchOverVideoZoomFactors.map { ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType),
| |- error: 'virtualDeviceSwitchOverVideoZoomFactors' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
46 | scale: $0.doubleValue) })
47 |
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:45:163: error: 'deviceType' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
43 | }
44 |
45 | zoomOptions.append(contentsOf: device.virtualDeviceSwitchOverVideoZoomFactors.map { ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType),
| |- error: 'deviceType' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
46 | scale: $0.doubleValue) })
47 |
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:49:55: error: 'deviceType' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
47 |
48 | return Device(id: device.uniqueID,
49 | type: self.adapt(device: device.deviceType),
| |- error: 'deviceType' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
50 | position: self.adapt(position: device.position),
51 | hasFlash: device.hasFlash,
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:54:106: error: 'deviceType' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
52 | flashState: flashDataSource.get(deviceId: device.uniqueID),
53 | zoomOptions: zoomOptions,
54 | currentZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.videoZoomFactor),
| |- error: 'deviceType' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
55 | maxZoom: min(ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.maxAvailableVideoZoomFactor), 10),
56 | minZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.minAvailableVideoZoomFactor))
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:54:133: error: 'videoZoomFactor' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
52 | flashState: flashDataSource.get(deviceId: device.uniqueID),
53 | zoomOptions: zoomOptions,
54 | currentZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.videoZoomFactor),
| |- error: 'videoZoomFactor' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
55 | maxZoom: min(ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.maxAvailableVideoZoomFactor), 10),
56 | minZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.minAvailableVideoZoomFactor))
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:55:106: error: 'deviceType' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
53 | zoomOptions: zoomOptions,
54 | currentZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.videoZoomFactor),
55 | maxZoom: min(ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.maxAvailableVideoZoomFactor), 10),
| |- error: 'deviceType' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
56 | minZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.minAvailableVideoZoomFactor))
57 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:55:133: error: 'maxAvailableVideoZoomFactor' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
53 | zoomOptions: zoomOptions,
54 | currentZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.videoZoomFactor),
55 | maxZoom: min(ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.maxAvailableVideoZoomFactor), 10),
| |- error: 'maxAvailableVideoZoomFactor' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
56 | minZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.minAvailableVideoZoomFactor))
57 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:56:102: error: 'deviceType' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
54 | currentZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.videoZoomFactor),
55 | maxZoom: min(ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.maxAvailableVideoZoomFactor), 10),
56 | minZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.minAvailableVideoZoomFactor))
| |- error: 'deviceType' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
57 | }
58 |
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:56:129: error: 'minAvailableVideoZoomFactor' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
:
54 | currentZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.videoZoomFactor),
55 | maxZoom: min(ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.maxAvailableVideoZoomFactor), 10),
56 | minZoom: ZoomScaleToMultiplication.adapt(deviceType: self.adapt(device: device.deviceType), scale: device.minAvailableVideoZoomFactor))
| |- error: 'minAvailableVideoZoomFactor' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
57 | }
58 |
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:64:15: error: 'builtInUltraWideCamera' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
:
57 | }
58 |
59 | private static func adapt(device: AVCaptureDevice.DeviceType?) -> DeviceType {
| `- note: add '@available' attribute to enclosing static method
60 | guard let device = device else {
61 | return .unspecified
62 | }
63 | switch device {
64 | case .builtInUltraWideCamera: return .ultraWideCamera
| |- error: 'builtInUltraWideCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
65 | case .builtInTelephotoCamera: return .telephotoCamera
66 | case .builtInWideAngleCamera: return .wideAngleCamera
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:65:15: error: 'builtInTelephotoCamera' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
:
57 | }
58 |
59 | private static func adapt(device: AVCaptureDevice.DeviceType?) -> DeviceType {
| `- note: add '@available' attribute to enclosing static method
60 | guard let device = device else {
61 | return .unspecified
:
63 | switch device {
64 | case .builtInUltraWideCamera: return .ultraWideCamera
65 | case .builtInTelephotoCamera: return .telephotoCamera
| |- error: 'builtInTelephotoCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
66 | case .builtInWideAngleCamera: return .wideAngleCamera
67 | case .builtInDualCamera: return .dualCamera
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:66:15: error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
:
57 | }
58 |
59 | private static func adapt(device: AVCaptureDevice.DeviceType?) -> DeviceType {
| `- note: add '@available' attribute to enclosing static method
60 | guard let device = device else {
61 | return .unspecified
:
64 | case .builtInUltraWideCamera: return .ultraWideCamera
65 | case .builtInTelephotoCamera: return .telephotoCamera
66 | case .builtInWideAngleCamera: return .wideAngleCamera
| |- error: 'builtInWideAngleCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
67 | case .builtInDualCamera: return .dualCamera
68 | case .builtInDualWideCamera: return .dualWideCamera
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:67:15: error: 'builtInDualCamera' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
:
57 | }
58 |
59 | private static func adapt(device: AVCaptureDevice.DeviceType?) -> DeviceType {
| `- note: add '@available' attribute to enclosing static method
60 | guard let device = device else {
61 | return .unspecified
:
65 | case .builtInTelephotoCamera: return .telephotoCamera
66 | case .builtInWideAngleCamera: return .wideAngleCamera
67 | case .builtInDualCamera: return .dualCamera
| |- error: 'builtInDualCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
68 | case .builtInDualWideCamera: return .dualWideCamera
69 | case .builtInTripleCamera: return .tripleCamera
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:68:15: error: 'builtInDualWideCamera' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
:
57 | }
58 |
59 | private static func adapt(device: AVCaptureDevice.DeviceType?) -> DeviceType {
| `- note: add '@available' attribute to enclosing static method
60 | guard let device = device else {
61 | return .unspecified
:
66 | case .builtInWideAngleCamera: return .wideAngleCamera
67 | case .builtInDualCamera: return .dualCamera
68 | case .builtInDualWideCamera: return .dualWideCamera
| |- error: 'builtInDualWideCamera' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
69 | case .builtInTripleCamera: return .tripleCamera
70 | default:
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVZoomController.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AVZoomController.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Adapters.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/CameraRepo.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile CameraRepo.swift
SwiftCompile normal arm64 Compiling\ SetZoomUseCase.swift,\ StartCameraUseCase.swift,\ TakePhotoUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetZoomUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/StartCameraUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/TakePhotoUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetZoomUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SetZoomUseCase.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/StartCameraUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile StartCameraUseCase.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/TakePhotoUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile TakePhotoUseCase.swift
SwiftCompile normal arm64 Compiling\ Presenter.swift,\ PreviewView.swift,\ Camera.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/Presenter.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Camera.swift (in target 'CameraCapture' from project 'CameraCapture')
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift:6:31: error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
2 | import AVFoundation
3 |
4 | class PreviewView: UIView {
| `- note: add '@available' attribute to enclosing class
5 |
6 | private let previewLayer: AVCaptureVideoPreviewLayer
| `- error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
7 | private let presenter: Presenter
8 | private var pinchRecognizer: UIPinchGestureRecognizer!
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift:8:34: error: 'UIPinchGestureRecognizer' is unavailable in tvOS
6 | private let previewLayer: AVCaptureVideoPreviewLayer
7 | private let presenter: Presenter
8 | private var pinchRecognizer: UIPinchGestureRecognizer!
| `- error: 'UIPinchGestureRecognizer' is unavailable in tvOS
9 | private var tapRecognizer: UITapGestureRecognizer!
10 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPinchGestureRecognizer.h:20:12: note: 'UIPinchGestureRecognizer' has been explicitly marked unavailable here
18 |
19 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
20 | @interface UIPinchGestureRecognizer : UIGestureRecognizer
| `- note: 'UIPinchGestureRecognizer' has been explicitly marked unavailable here
21 |
22 | @property (nonatomic) CGFloat scale; // scale relative to the touch points in screen coordinates
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift:11:24: error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
2 | import AVFoundation
3 |
4 | class PreviewView: UIView {
| `- note: add '@available' attribute to enclosing class
5 |
6 | private let previewLayer: AVCaptureVideoPreviewLayer
:
9 | private var tapRecognizer: UITapGestureRecognizer!
10 |
11 | init(previewLayer: AVCaptureVideoPreviewLayer,
| | `- error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing initializer
12 | presenter: Presenter) {
13 | self.previewLayer = previewLayer
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift:47:52: error: 'UIDeviceOrientation' is unavailable in tvOS
45 | }
46 |
47 | private func videoOrientation(viewOrientation: UIDeviceOrientation) -> AVCaptureVideoOrientation? {
| `- error: 'UIDeviceOrientation' is unavailable in tvOS
48 | switch viewOrientation {
49 | case .portraitUpsideDown: return .portraitUpsideDown
/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/CameraCapture/Implementation/Views/PreviewView.swift:47:76: error: 'AVCaptureVideoOrientation' is unavailable in tvOS
45 | }
46 |
47 | private func videoOrientation(viewOrientation: UIDeviceOrientation) -> AVCaptureVideoOrientation? {
| `- error: 'AVCaptureVideoOrientation' is unavailable in tvOS
48 | switch viewOrientation {
49 | case .portraitUpsideDown: return .portraitUpsideDown
/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/CameraCapture/Implementation/Views/PreviewView.swift:57:53: error: 'UIDeviceOrientation' is unavailable in tvOS
55 | }
56 |
57 | private func cameraOrientation(viewOrientation: UIDeviceOrientation) -> CameraOrientation? {
| `- error: 'UIDeviceOrientation' is unavailable in tvOS
58 | switch viewOrientation {
59 | case .portraitUpsideDown: return .portraitUpsideDown
/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/CameraCapture/Implementation/Views/PreviewView.swift:67:36: error: 'UIPinchGestureRecognizer' is unavailable in tvOS
65 | }
66 |
67 | @IBAction func pinch(_ sender: UIPinchGestureRecognizer) {
| `- error: 'UIPinchGestureRecognizer' is unavailable in tvOS
68 | if sender.state == .changed {
69 | presenter.didZoomTo(sender.scale)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPinchGestureRecognizer.h:20:12: note: 'UIPinchGestureRecognizer' has been explicitly marked unavailable here
18 |
19 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
20 | @interface UIPinchGestureRecognizer : UIGestureRecognizer
| `- note: 'UIPinchGestureRecognizer' has been explicitly marked unavailable here
21 |
22 | @property (nonatomic) CGFloat scale; // scale relative to the touch points in screen coordinates
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift:20:27: error: 'UIPinchGestureRecognizer' is unavailable in tvOS
18 | layer.addSublayer(focusBoxLayer)
19 |
20 | pinchRecognizer = UIPinchGestureRecognizer(target: self, action:#selector(pinch(_:)))
| `- error: 'UIPinchGestureRecognizer' is unavailable in tvOS
21 | self.addGestureRecognizer(pinchRecognizer)
22 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPinchGestureRecognizer.h:20:12: note: 'UIPinchGestureRecognizer' has been explicitly marked unavailable here
18 |
19 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
20 | @interface UIPinchGestureRecognizer : UIGestureRecognizer
| `- note: 'UIPinchGestureRecognizer' has been explicitly marked unavailable here
21 |
22 | @property (nonatomic) CGFloat scale; // scale relative to the touch points in screen coordinates
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift:33:26: error: 'UIDeviceOrientation' is unavailable in tvOS
31 | func setupOrientation() {
32 | let currentDevice = UIDevice.current
33 | let orientation: UIDeviceOrientation = currentDevice.orientation
| `- error: 'UIDeviceOrientation' is unavailable in tvOS
34 | let videoOrientation: AVCaptureVideoOrientation = videoOrientation(viewOrientation: orientation) ?? .portrait
35 |
/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/CameraCapture/Implementation/Views/PreviewView.swift:33:62: error: 'orientation' is unavailable in tvOS
31 | func setupOrientation() {
32 | let currentDevice = UIDevice.current
33 | let orientation: UIDeviceOrientation = currentDevice.orientation
| `- error: 'orientation' is unavailable in tvOS
34 | let videoOrientation: AVCaptureVideoOrientation = videoOrientation(viewOrientation: orientation) ?? .portrait
35 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIDevice.h:44:51: note: 'orientation' has been explicitly marked unavailable here
42 | @property(nonatomic,readonly,strong) NSString *systemName; // e.g. @"iOS"
43 | @property(nonatomic,readonly,strong) NSString *systemVersion; // e.g. @"4.0"
44 | @property(nonatomic,readonly) UIDeviceOrientation orientation API_UNAVAILABLE(tvos, visionos); // return current device orientation. this will return UIDeviceOrientationUnknown unless device orientation notifications are being generated.
| `- note: 'orientation' has been explicitly marked unavailable here
45 |
46 | @property(nullable, nonatomic,readonly,strong) NSUUID *identifierForVendor API_AVAILABLE(ios(6.0)); // a UUID that may be used to uniquely identify the device, same across apps from a single vendor.
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift:34:31: error: 'AVCaptureVideoOrientation' is unavailable in tvOS
32 | let currentDevice = UIDevice.current
33 | let orientation: UIDeviceOrientation = currentDevice.orientation
34 | let videoOrientation: AVCaptureVideoOrientation = videoOrientation(viewOrientation: orientation) ?? .portrait
| `- error: 'AVCaptureVideoOrientation' is unavailable in tvOS
35 |
36 | previewLayer.frame = layer.bounds
/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/CameraCapture/Implementation/Views/PreviewView.swift:37:22: error: 'connection' is only available in tvOS 17.0 or newer
2 | import AVFoundation
3 |
4 | class PreviewView: UIView {
| `- note: add '@available' attribute to enclosing class
5 |
6 | private let previewLayer: AVCaptureVideoPreviewLayer
:
29 | }
30 |
31 | func setupOrientation() {
| `- note: add '@available' attribute to enclosing instance method
32 | let currentDevice = UIDevice.current
33 | let orientation: UIDeviceOrientation = currentDevice.orientation
:
35 |
36 | previewLayer.frame = layer.bounds
37 | previewLayer.connection?.videoOrientation = videoOrientation
| |- error: 'connection' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
38 |
39 | presenter.didRotateCamera(with: cameraOrientation(viewOrientation: orientation) ?? .portrait)
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift:37:34: error: 'videoOrientation' is unavailable in tvOS
35 |
36 | previewLayer.frame = layer.bounds
37 | previewLayer.connection?.videoOrientation = videoOrientation
| `- error: 'videoOrientation' is unavailable in tvOS
38 |
39 | presenter.didRotateCamera(with: cameraOrientation(viewOrientation: orientation) ?? .portrait)
/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/CameraCapture/Implementation/Views/Presenter.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Presenter.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile PreviewView.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Camera.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Camera.swift
SwiftCompile normal arm64 Compiling\ SetCameraUseCase.swift,\ SetFlashStateUseCase.swift,\ SetRotationUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetCameraUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetFlashStateUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetRotationUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetCameraUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SetCameraUseCase.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetFlashStateUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SetFlashStateUseCase.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetRotationUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SetRotationUseCase.swift
SwiftCompile normal arm64 Compiling\ CameraFactory.swift,\ CameraSettings.swift,\ Device.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/CameraFactory.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/CameraSettings.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/Device.swift (in target 'CameraCapture' from project 'CameraCapture')
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public API/CameraFactory.swift:17:32: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
7 | This factory produces the public API for this package via the ``make()`` function. The API is in the ``Camera`` object.
8 | */
9 | public enum CameraFactory {
| `- note: add '@available' attribute to enclosing enum
10 |
11 | /**
:
14 | This function returns the API for the `Camera` package in the form of the ``Camera``.
15 | */
16 | public static func make() -> Camera {
| `- note: add '@available' attribute to enclosing static method
17 | let avCaptureSession = AVCaptureSession()
| |- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
18 |
19 | let photoOutput = AVCapturePhotoOutput()
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public API/CameraFactory.swift:19:27: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
7 | This factory produces the public API for this package via the ``make()`` function. The API is in the ``Camera`` object.
8 | */
9 | public enum CameraFactory {
| `- note: add '@available' attribute to enclosing enum
10 |
11 | /**
:
14 | This function returns the API for the `Camera` package in the form of the ``Camera``.
15 | */
16 | public static func make() -> Camera {
| `- note: add '@available' attribute to enclosing static method
17 | let avCaptureSession = AVCaptureSession()
18 |
19 | let photoOutput = AVCapturePhotoOutput()
| |- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
| `- note: add 'if #available' version check
20 | avCaptureSession.addOutput(photoOutput)
21 | let previewLayer = AVCaptureVideoPreviewLayer(session: avCaptureSession)
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/CameraFactory.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile CameraFactory.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/CameraSettings.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile CameraSettings.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/Device.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Device.swift
SwiftCompile normal arm64 Compiling\ FocusUseCase.swift,\ RetrieveAvailableCamerasUseCase.swift,\ RotateCameraUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/FocusUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/RetrieveAvailableCamerasUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/RotateCameraUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/FocusUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile FocusUseCase.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/RetrieveAvailableCamerasUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile RetrieveAvailableCamerasUseCase.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/RotateCameraUseCase.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile RotateCameraUseCase.swift
SwiftCompile normal arm64 Compiling\ PhotoCaptureError.swift,\ ZoomObserver.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/PhotoCaptureError.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/ZoomObserver.swift (in target 'CameraCapture' from project 'CameraCapture')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/PhotoCaptureError.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile PhotoCaptureError.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/ZoomObserver.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ZoomObserver.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ CameraCapture (in target 'CameraCapture' from project 'CameraCapture')
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraController.swift:12:30: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
8 | }
9 |
10 | class AVCameraController: CameraController {
| `- note: add '@available' attribute to enclosing class
11 |
12 | private let photoOutput: AVCapturePhotoOutput
| `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
13 | private let delegate = AVCaptureDelegate()
14 |
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraController.swift:15:23: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
8 | }
9 |
10 | class AVCameraController: CameraController {
| `- note: add '@available' attribute to enclosing class
11 |
12 | private let photoOutput: AVCapturePhotoOutput
13 | private let delegate = AVCaptureDelegate()
14 |
15 | init(photoOutput: AVCapturePhotoOutput) {
| | `- error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing initializer
16 | self.photoOutput = photoOutput
17 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraController.swift:36:50: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
33 | }
34 |
35 | enum CameraFlashToAVSettings {
| `- note: add '@available' attribute to enclosing enum
36 | static func adapt(flashState: FlashState) -> AVCaptureDevice.FlashMode {
| | `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing static method
37 | switch flashState {
38 | case .on:
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraController.swift:49:58: error: 'AVCaptureVideoOrientation' is unavailable in tvOS
47 |
48 | enum CameraOrientationToAVSettings {
49 | static func adapt(orientation: CameraOrientation) -> AVCaptureVideoOrientation {
| `- error: 'AVCaptureVideoOrientation' is unavailable in tvOS
50 | switch orientation {
51 | case .landscapeLeft:
/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/CameraCapture/Implementation/AVFoundation/AVCameraSession.swift:13:33: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
10 | }
11 |
12 | class AVCameraSession: CameraSesion {
| `- note: add '@available' attribute to enclosing class
13 | private let captureSession: AVCaptureSession
| `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
14 | private let flashDataSource: FlashDataSource
15 |
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraSession.swift:31:26: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
10 | }
11 |
12 | class AVCameraSession: CameraSesion {
| `- note: add '@available' attribute to enclosing class
13 | private let captureSession: AVCaptureSession
14 | private let flashDataSource: FlashDataSource
:
29 | }
30 |
31 | init(captureSession: AVCaptureSession,
| | `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing initializer
32 | flashDataSource: FlashDataSource) {
33 | self.captureSession = captureSession
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCaptureDelegate.swift:12:32: error: 'AVCapturePhotoOutput' is only available in tvOS 17.0 or newer
2 | import UIKit
3 |
4 | class AVCaptureDelegate: NSObject, AVCapturePhotoCaptureDelegate {
| `- note: add '@available' attribute to enclosing class
5 |
6 | private var handler: CaptureHandler?
:
10 | }
11 |
12 | 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
13 | handler?.didCapturePhoto(photo.fileDataRepresentation(with: Customizer(photo: photo)), error: error)
14 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCaptureDelegate.swift:12:86: error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
2 | import UIKit
3 |
4 | class AVCaptureDelegate: NSObject, AVCapturePhotoCaptureDelegate {
| `- note: add '@available' attribute to enclosing class
5 |
6 | private var handler: CaptureHandler?
:
10 | }
11 |
12 | 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
13 | handler?.didCapturePhoto(photo.fileDataRepresentation(with: Customizer(photo: photo)), error: error)
14 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCaptureDelegate.swift:18:28: error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
14 | }
15 |
16 | class Customizer: NSObject, AVCapturePhotoFileDataRepresentationCustomizer {
| `- note: add '@available' attribute to enclosing class
17 |
18 | private let photo: AVCapturePhoto
| `- error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
19 |
20 | init(photo: AVCapturePhoto) {
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCaptureDelegate.swift:20:21: error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
14 | }
15 |
16 | class Customizer: NSObject, AVCapturePhotoFileDataRepresentationCustomizer {
| `- note: add '@available' attribute to enclosing class
17 |
18 | private let photo: AVCapturePhoto
19 |
20 | init(photo: AVCapturePhoto) {
| | `- error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing initializer
21 | self.photo = photo
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCaptureDelegate.swift:24:45: error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
14 | }
15 |
16 | class Customizer: NSObject, AVCapturePhotoFileDataRepresentationCustomizer {
| `- note: add '@available' attribute to enclosing class
17 |
18 | private let photo: AVCapturePhoto
:
22 | }
23 |
24 | func replacementMetadata(for photo: AVCapturePhoto) -> [String : Any]? {
| | `- error: 'AVCapturePhoto' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing instance method
25 | return photo.metadata
26 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift:11:33: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
7 | }
8 |
9 | class AVCaptureDeviceDataSource: DataSource {
| `- note: add '@available' attribute to enclosing class
10 |
11 | private let captureSession: AVCaptureSession
| `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
12 | private let flashDataSource: FlashDataSource
13 |
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift:14:26: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
7 | }
8 |
9 | class AVCaptureDeviceDataSource: DataSource {
| `- note: add '@available' attribute to enclosing class
10 |
11 | private let captureSession: AVCaptureSession
12 | private let flashDataSource: FlashDataSource
13 |
14 | init(captureSession: AVCaptureSession,
| | `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing initializer
15 | flashDataSource: FlashDataSource) {
16 | self.captureSession = captureSession
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVFocusController.swift:9:26: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
5 | }
6 |
7 | class AVFocusController: FocusController {
| `- note: add '@available' attribute to enclosing class
8 |
9 | private let session: AVCaptureSession
| `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
10 |
11 | init(session: AVCaptureSession) {
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVFocusController.swift:11:19: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
5 | }
6 |
7 | class AVFocusController: FocusController {
| `- note: add '@available' attribute to enclosing class
8 |
9 | private let session: AVCaptureSession
10 |
11 | init(session: AVCaptureSession) {
| | `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing initializer
12 | self.session = session
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVZoomController.swift:9:26: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
5 | }
6 |
7 | class AVZoomController: ZoomController {
| `- note: add '@available' attribute to enclosing class
8 |
9 | private let session: AVCaptureSession
| `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
10 |
11 | init(session: AVCaptureSession) {
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVZoomController.swift:11:19: error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
5 | }
6 |
7 | class AVZoomController: ZoomController {
| `- note: add '@available' attribute to enclosing class
8 |
9 | private let session: AVCaptureSession
10 |
11 | init(session: AVCaptureSession) {
| | `- error: 'AVCaptureSession' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing initializer
12 | self.session = session
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:31:31: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
| | `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing static method
32 | var zoomOptions: [Double] = []
33 |
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:59:39: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
:
57 | }
58 |
59 | private static func adapt(device: AVCaptureDevice.DeviceType?) -> DeviceType {
| | `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing static method
60 | guard let device = device else {
61 | return .unspecified
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift:75:41: error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
27 | }
28 |
29 | enum AVCaptureDeviceToCameraAdapter {
| `- note: add '@available' attribute to enclosing enum
30 |
31 | static func adapt(device: AVCaptureDevice, flashDataSource: FlashDataSource) -> Device {
:
73 | }
74 |
75 | private static func adapt(position: AVCaptureDevice.Position) -> DevicePosition {
| | `- error: 'AVCaptureDevice' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing static method
76 | switch position {
77 | case .back: return .back
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift:6:31: error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
2 | import AVFoundation
3 |
4 | class PreviewView: UIView {
| `- note: add '@available' attribute to enclosing class
5 |
6 | private let previewLayer: AVCaptureVideoPreviewLayer
| `- error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
7 | private let presenter: Presenter
8 | private var pinchRecognizer: UIPinchGestureRecognizer!
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift:8:34: error: 'UIPinchGestureRecognizer' is unavailable in tvOS
6 | private let previewLayer: AVCaptureVideoPreviewLayer
7 | private let presenter: Presenter
8 | private var pinchRecognizer: UIPinchGestureRecognizer!
| `- error: 'UIPinchGestureRecognizer' is unavailable in tvOS
9 | private var tapRecognizer: UITapGestureRecognizer!
10 |
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPinchGestureRecognizer.h:20:12: note: 'UIPinchGestureRecognizer' has been explicitly marked unavailable here
18 |
19 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
20 | @interface UIPinchGestureRecognizer : UIGestureRecognizer
| `- note: 'UIPinchGestureRecognizer' has been explicitly marked unavailable here
21 |
22 | @property (nonatomic) CGFloat scale; // scale relative to the touch points in screen coordinates
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift:11:24: error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
2 | import AVFoundation
3 |
4 | class PreviewView: UIView {
| `- note: add '@available' attribute to enclosing class
5 |
6 | private let previewLayer: AVCaptureVideoPreviewLayer
:
9 | private var tapRecognizer: UITapGestureRecognizer!
10 |
11 | init(previewLayer: AVCaptureVideoPreviewLayer,
| | `- error: 'AVCaptureVideoPreviewLayer' is only available in tvOS 17.0 or newer
| `- note: add '@available' attribute to enclosing initializer
12 | presenter: Presenter) {
13 | self.previewLayer = previewLayer
/Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift:47:52: error: 'UIDeviceOrientation' is unavailable in tvOS
45 | }
46 |
47 | private func videoOrientation(viewOrientation: UIDeviceOrientation) -> AVCaptureVideoOrientation? {
| `- error: 'UIDeviceOrientation' is unavailable in tvOS
48 | switch viewOrientation {
49 | case .portraitUpsideDown: return .portraitUpsideDown
/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/CameraCapture/Implementation/Views/PreviewView.swift:47:76: error: 'AVCaptureVideoOrientation' is unavailable in tvOS
45 | }
46 |
47 | private func videoOrientation(viewOrientation: UIDeviceOrientation) -> AVCaptureVideoOrientation? {
| `- error: 'AVCaptureVideoOrientation' is unavailable in tvOS
48 | switch viewOrientation {
49 | case .portraitUpsideDown: return .portraitUpsideDown
/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/CameraCapture/Implementation/Views/PreviewView.swift:57:53: error: 'UIDeviceOrientation' is unavailable in tvOS
55 | }
56 |
57 | private func cameraOrientation(viewOrientation: UIDeviceOrientation) -> CameraOrientation? {
| `- error: 'UIDeviceOrientation' is unavailable in tvOS
58 | switch viewOrientation {
59 | case .portraitUpsideDown: return .portraitUpsideDown
/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/CameraCapture/Implementation/Views/PreviewView.swift:67:36: error: 'UIPinchGestureRecognizer' is unavailable in tvOS
65 | }
66 |
67 | @IBAction func pinch(_ sender: UIPinchGestureRecognizer) {
| `- error: 'UIPinchGestureRecognizer' is unavailable in tvOS
68 | if sender.state == .changed {
69 | presenter.didZoomTo(sender.scale)
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPinchGestureRecognizer.h:20:12: note: 'UIPinchGestureRecognizer' has been explicitly marked unavailable here
18 |
19 | UIKIT_EXTERN API_AVAILABLE(ios(3.2)) API_UNAVAILABLE(tvos, watchos) NS_SWIFT_UI_ACTOR
20 | @interface UIPinchGestureRecognizer : UIGestureRecognizer
| `- note: 'UIPinchGestureRecognizer' has been explicitly marked unavailable here
21 |
22 | @property (nonatomic) CGFloat scale; // scale relative to the touch points in screen coordinates
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/CameraCapture/Implementation/AVFoundation/AVCameraController.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraSession.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCaptureDelegate.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVDataSource.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVFlashController.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVFocusController.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVZoomController.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Adapters.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/CameraRepo.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/CaptureHandler.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/DefaultCamera.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/SettingsRepo.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/FocusUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/RetrieveAvailableCamerasUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/RotateCameraUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetCameraUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetFlashStateUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetRotationUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/SetZoomUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/StartCameraUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Use\ Cases/TakePhotoUseCase.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/Presenter.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/Views/PreviewView.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Camera.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/CameraFactory.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/CameraSettings.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/Device.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/PhotoCaptureError.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Public\ API/Models/ZoomObserver.swift -target arm64-apple-tvos15.0 -disable-cross-import-overlay-search -swift-module-cross-import AVKit /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/AVKit.framework/Modules/AVKit.swiftcrossimport/SwiftUI.swiftoverlay -swift-module-cross-import AVKit /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS27.0.sdk/System/Library/Frameworks/AVKit.framework/Modules/AVKit.swiftcrossimport/SwiftUI.swiftoverlay -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/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 -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/lib/swift/host/plugins/libTipKitMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/usr/bin/swift-plugin-server\#TipKitMacros -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/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/Objects-normal/arm64/CameraCapture-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/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name CameraCapture -package-name spi_builder_workspace -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/Objects-normal/arm64/CameraCapture_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/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/Objects-normal/arm64/CameraCapture.swiftdoc -emit-module-source-info-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/Objects-normal/arm64/CameraCapture.swiftsourceinfo -emit-objc-header-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/Objects-normal/arm64/CameraCapture-Swift.h -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/Objects-normal/arm64/CameraCapture-primary-emit-module.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/Objects-normal/arm64/CameraCapture-primary-emit-module.d -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/Objects-normal/arm64/CameraCapture.swiftmodule -emit-abi-descriptor-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/CameraCapture.build/Debug-appletvos/CameraCapture-t.build/Objects-normal/arm64/CameraCapture.abi.json
SwiftCompile normal arm64 (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
SwiftCompile normal arm64 Compiling\ CaptureHandler.swift,\ DefaultCamera.swift,\ SettingsRepo.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/CaptureHandler.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/DefaultCamera.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/SettingsRepo.swift (in target 'CameraCapture' from project 'CameraCapture')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/CaptureHandler.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile CaptureHandler.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/DefaultCamera.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile DefaultCamera.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/SettingsRepo.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SettingsRepo.swift
SwiftCompile normal arm64 Compiling\ AVCameraController.swift,\ AVCameraSession.swift,\ AVCaptureDelegate.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraController.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraSession.swift /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCaptureDelegate.swift (in target 'CameraCapture' from project 'CameraCapture')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraController.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AVCameraController.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCameraSession.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AVCameraSession.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/CameraCapture/Implementation/AVFoundation/AVCaptureDelegate.swift (in target 'CameraCapture' from project 'CameraCapture')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile AVCaptureDelegate.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-20 08:28:35.607 xcodebuild[751:4557] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
2026-09-20 08:28:35.755 xcodebuild[751:4557] [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\ CameraCapture (in target 'CameraCapture' from project 'CameraCapture')
SwiftCompile normal arm64 (in target 'CameraCapture' from project 'CameraCapture')
Building workspace CameraCapture with scheme CameraCapture
(3 failures)
BUILD FAILURE 6.4 tvOS