Build Information
Successful build of Media, reference master (0139f8
), with Swift 6.0 for macOS (SPM) on 26 Feb 2025 12:24:32 UTC.
Swift 6 data race errors: 35
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
169 | }
170 | }
[106/121] Compiling MediaCore Video.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:17:16: warning: static property 'videoManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
17 | static var videoManager: VideoManager = PHImageManager.default()
| |- warning: static property 'videoManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'videoManager' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'videoManager' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 | private var phAsset: PHAsset? { phAssetWrapper.value }
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:148:13: warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
12 | /// `video`
13 | ///
14 | public struct Video: MediaProtocol {
| `- note: consider making struct 'Video' conform to the 'Sendable' protocol
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
:
146 | func previewImage(at requestedTime: CMTime = .init(seconds: 1, preferredTimescale: 60), _ completion: @escaping (Result<UniversalImage, Swift.Error>) -> Void) {
147 | DispatchQueue.global(qos: .userInitiated).async {
148 | avAsset { avAssetResult in
| `- warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
149 | switch avAssetResult {
150 | case let .success(asset):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:25: warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in a `@Sendable` closure
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:25: warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:244:56: warning: capture of 'exportOptions' with non-sendable type 'Video.ExportOptions' in a `@Sendable` closure
242 | } else if let exportSession = exportSession {
243 | exportSession.determineCompatibleFileTypes { compatibleFileTypes in
244 | guard compatibleFileTypes.contains(exportOptions.outputURL.fileType.avFileType) else {
| `- warning: capture of 'exportOptions' with non-sendable type 'Video.ExportOptions' in a `@Sendable` closure
245 | completion(.failure(Error.unsupportedFileType))
246 | return
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video+ExportOptions.swift:19:19: note: consider making struct 'ExportOptions' conform to the 'Sendable' protocol
17 | /// Represents the options for a `Video` export
18 | ///
19 | public struct ExportOptions {
| `- note: consider making struct 'ExportOptions' conform to the 'Sendable' protocol
20 | let outputURL: Media.URL<Video>
21 | let quality: VideoExportQualityType
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:245:25: warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
243 | exportSession.determineCompatibleFileTypes { compatibleFileTypes in
244 | guard compatibleFileTypes.contains(exportOptions.outputURL.fileType.avFileType) else {
245 | completion(.failure(Error.unsupportedFileType))
| |- warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
246 | return
247 | }
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:249:21: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
247 | }
248 |
249 | exportSession.outputURL = exportOptions.outputURL.value
| `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
250 | exportSession.outputFileType = exportOptions.outputURL.fileType.avFileType
251 |
AVFoundation.AVAssetExportSession:2:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVAssetExportSession : NSObject {
| `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:252:33: warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
12 | /// `video`
13 | ///
14 | public struct Video: MediaProtocol {
| `- note: consider making struct 'Video' conform to the 'Sendable' protocol
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
:
250 | exportSession.outputFileType = exportOptions.outputURL.fileType.avFileType
251 |
252 | let timer = self.createTimer(for: exportSession, progress: progress)
| `- warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
253 | RunLoop.main.add(timer, forMode: .common)
254 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:252:80: warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
250 | exportSession.outputFileType = exportOptions.outputURL.fileType.avFileType
251 |
252 | let timer = self.createTimer(for: exportSession, progress: progress)
| |- warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
253 | RunLoop.main.add(timer, forMode: .common)
254 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:256:32: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
254 |
255 | exportSession.exportAsynchronously {
256 | switch exportSession.status {
| `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
257 | case .completed:
258 | timer.invalidate()
AVFoundation.AVAssetExportSession:2:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVAssetExportSession : NSObject {
| `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:258:29: warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure
256 | switch exportSession.status {
257 | case .completed:
258 | timer.invalidate()
| `- warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure
259 | completion(.success(()))
260 | case .failed:
Foundation.Timer:1:12: note: class 'Timer' does not conform to the 'Sendable' protocol
1 | open class Timer : NSObject {
| `- note: class 'Timer' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init(timeInterval ti: TimeInterval, invocation: NSInvocation, repeats yesOrNo: Bool)
3 | @available(*, unavailable, renamed: "init(timeInterval:invocation:repeats:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:259:29: warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
257 | case .completed:
258 | timer.invalidate()
259 | completion(.success(()))
| |- warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
260 | case .failed:
261 | timer.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:355:17: warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
12 | /// `video`
13 | ///
14 | public struct Video: MediaProtocol {
| `- note: consider making struct 'Video' conform to the 'Sendable' protocol
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
:
353 | if #available(iOS 10, macOS 10.13, tvOS 10, *) {
354 | timer = Timer(timeInterval: 1, repeats: true) { timer in
355 | self.handleProgressTimerFired(exportSession: exportSession,
| `- warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
356 | timer: timer,
357 | progress: progress)
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:355:62: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
353 | if #available(iOS 10, macOS 10.13, tvOS 10, *) {
354 | timer = Timer(timeInterval: 1, repeats: true) { timer in
355 | self.handleProgressTimerFired(exportSession: exportSession,
| `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
356 | timer: timer,
357 | progress: progress)
AVFoundation.AVAssetExportSession:2:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVAssetExportSession : NSObject {
| `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:357:57: warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
355 | self.handleProgressTimerFired(exportSession: exportSession,
356 | timer: timer,
357 | progress: progress)
| |- warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
358 | }
359 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:18:23: warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | ///
17 | @FetchAssets(sort: [Media.Sort(key: .creationDate, ascending: false)])
18 | public static var all: [Video]
| |- warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'all' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | /// All streams in the library
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:25:23: warning: static property 'streams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
23 | @FetchAssets(filter: [.mediaSubtypes([.streamed])],
24 | sort: [Media.Sort(key: .creationDate, ascending: false)])
25 | public static var streams: [Video]
| |- warning: static property 'streams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'streams' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'streams' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | /// All high frame rate videos in the library
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:32:23: warning: static property 'highFrameRates' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
30 | @FetchAssets(filter: [.mediaSubtypes([.highFrameRate])],
31 | sort: [Media.Sort(key: .creationDate, ascending: false)])
32 | public static var highFrameRates: [Video]
| |- warning: static property 'highFrameRates' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'highFrameRates' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'highFrameRates' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 |
34 | /// All timelapse videos in the library
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:39:23: warning: static property 'timelapses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
37 | @FetchAssets(filter: [.mediaSubtypes([.timelapse])],
38 | sort: [Media.Sort(key: .creationDate, ascending: false)])
39 | public static var timelapses: [Video]
| |- warning: static property 'timelapses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'timelapses' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'timelapses' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 | }
41 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/internal/Capture/Extensions/AVCaptureSession+Error.swift:16:14: warning: associated value 'cannotAddInput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureDeviceInput'; this is an error in the Swift 6 language mode
14 | enum Error: Swift.Error {
15 | /// Thrown if the given input could not be added
16 | case cannotAddInput(_ input: AVCaptureDeviceInput)
| `- warning: associated value 'cannotAddInput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureDeviceInput'; this is an error in the Swift 6 language mode
17 | /// Thrown if the given output could not be added
18 | case cannotAddOutput(_ output: AVCaptureOutput)
AVFoundation.AVCaptureDeviceInput:2:12: note: class 'AVCaptureDeviceInput' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVCaptureDeviceInput : AVCaptureInput {
| `- note: class 'AVCaptureDeviceInput' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable, message: "superseded by import of -[AVCaptureDeviceInput initWithDevice:error:]")
4 | public convenience init(device: AVCaptureDevice) throws
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/internal/Capture/Extensions/AVCaptureSession+Error.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
6 | //
7 |
8 | import AVFoundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
9 |
10 | @available(iOS 10, *)
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/internal/Capture/Extensions/AVCaptureSession+Error.swift:18:14: warning: associated value 'cannotAddOutput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureOutput'; this is an error in the Swift 6 language mode
16 | case cannotAddInput(_ input: AVCaptureDeviceInput)
17 | /// Thrown if the given output could not be added
18 | case cannotAddOutput(_ output: AVCaptureOutput)
| `- warning: associated value 'cannotAddOutput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureOutput'; this is an error in the Swift 6 language mode
19 | /// Thrown if there is no default audio device
20 | case noDefaultAudioDevice
AVFoundation.AVCaptureOutput:2:12: note: class 'AVCaptureOutput' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVCaptureOutput : NSObject {
| `- note: class 'AVCaptureOutput' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:36: warning: sending 'copyCGImageResult' risks causing data races; this is an error in the Swift 6 language mode
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: sending 'copyCGImageResult' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'copyCGImageResult' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:168:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
166 | case let .failure(error):
167 | DispatchQueue.main.async {
168 | completion(.failure(error))
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
169 | }
170 | }
[107/121] Compiling MediaCore Videos.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:17:16: warning: static property 'videoManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
17 | static var videoManager: VideoManager = PHImageManager.default()
| |- warning: static property 'videoManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'videoManager' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'videoManager' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 | private var phAsset: PHAsset? { phAssetWrapper.value }
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:148:13: warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
12 | /// `video`
13 | ///
14 | public struct Video: MediaProtocol {
| `- note: consider making struct 'Video' conform to the 'Sendable' protocol
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
:
146 | func previewImage(at requestedTime: CMTime = .init(seconds: 1, preferredTimescale: 60), _ completion: @escaping (Result<UniversalImage, Swift.Error>) -> Void) {
147 | DispatchQueue.global(qos: .userInitiated).async {
148 | avAsset { avAssetResult in
| `- warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
149 | switch avAssetResult {
150 | case let .success(asset):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:25: warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in a `@Sendable` closure
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:25: warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:244:56: warning: capture of 'exportOptions' with non-sendable type 'Video.ExportOptions' in a `@Sendable` closure
242 | } else if let exportSession = exportSession {
243 | exportSession.determineCompatibleFileTypes { compatibleFileTypes in
244 | guard compatibleFileTypes.contains(exportOptions.outputURL.fileType.avFileType) else {
| `- warning: capture of 'exportOptions' with non-sendable type 'Video.ExportOptions' in a `@Sendable` closure
245 | completion(.failure(Error.unsupportedFileType))
246 | return
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video+ExportOptions.swift:19:19: note: consider making struct 'ExportOptions' conform to the 'Sendable' protocol
17 | /// Represents the options for a `Video` export
18 | ///
19 | public struct ExportOptions {
| `- note: consider making struct 'ExportOptions' conform to the 'Sendable' protocol
20 | let outputURL: Media.URL<Video>
21 | let quality: VideoExportQualityType
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:245:25: warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
243 | exportSession.determineCompatibleFileTypes { compatibleFileTypes in
244 | guard compatibleFileTypes.contains(exportOptions.outputURL.fileType.avFileType) else {
245 | completion(.failure(Error.unsupportedFileType))
| |- warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
246 | return
247 | }
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:249:21: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
247 | }
248 |
249 | exportSession.outputURL = exportOptions.outputURL.value
| `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
250 | exportSession.outputFileType = exportOptions.outputURL.fileType.avFileType
251 |
AVFoundation.AVAssetExportSession:2:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVAssetExportSession : NSObject {
| `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:252:33: warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
12 | /// `video`
13 | ///
14 | public struct Video: MediaProtocol {
| `- note: consider making struct 'Video' conform to the 'Sendable' protocol
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
:
250 | exportSession.outputFileType = exportOptions.outputURL.fileType.avFileType
251 |
252 | let timer = self.createTimer(for: exportSession, progress: progress)
| `- warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
253 | RunLoop.main.add(timer, forMode: .common)
254 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:252:80: warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
250 | exportSession.outputFileType = exportOptions.outputURL.fileType.avFileType
251 |
252 | let timer = self.createTimer(for: exportSession, progress: progress)
| |- warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
253 | RunLoop.main.add(timer, forMode: .common)
254 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:256:32: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
254 |
255 | exportSession.exportAsynchronously {
256 | switch exportSession.status {
| `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
257 | case .completed:
258 | timer.invalidate()
AVFoundation.AVAssetExportSession:2:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVAssetExportSession : NSObject {
| `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:258:29: warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure
256 | switch exportSession.status {
257 | case .completed:
258 | timer.invalidate()
| `- warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure
259 | completion(.success(()))
260 | case .failed:
Foundation.Timer:1:12: note: class 'Timer' does not conform to the 'Sendable' protocol
1 | open class Timer : NSObject {
| `- note: class 'Timer' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init(timeInterval ti: TimeInterval, invocation: NSInvocation, repeats yesOrNo: Bool)
3 | @available(*, unavailable, renamed: "init(timeInterval:invocation:repeats:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:259:29: warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
257 | case .completed:
258 | timer.invalidate()
259 | completion(.success(()))
| |- warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
260 | case .failed:
261 | timer.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:355:17: warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
12 | /// `video`
13 | ///
14 | public struct Video: MediaProtocol {
| `- note: consider making struct 'Video' conform to the 'Sendable' protocol
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
:
353 | if #available(iOS 10, macOS 10.13, tvOS 10, *) {
354 | timer = Timer(timeInterval: 1, repeats: true) { timer in
355 | self.handleProgressTimerFired(exportSession: exportSession,
| `- warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
356 | timer: timer,
357 | progress: progress)
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:355:62: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
353 | if #available(iOS 10, macOS 10.13, tvOS 10, *) {
354 | timer = Timer(timeInterval: 1, repeats: true) { timer in
355 | self.handleProgressTimerFired(exportSession: exportSession,
| `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
356 | timer: timer,
357 | progress: progress)
AVFoundation.AVAssetExportSession:2:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVAssetExportSession : NSObject {
| `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:357:57: warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
355 | self.handleProgressTimerFired(exportSession: exportSession,
356 | timer: timer,
357 | progress: progress)
| |- warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
358 | }
359 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:18:23: warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | ///
17 | @FetchAssets(sort: [Media.Sort(key: .creationDate, ascending: false)])
18 | public static var all: [Video]
| |- warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'all' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | /// All streams in the library
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:25:23: warning: static property 'streams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
23 | @FetchAssets(filter: [.mediaSubtypes([.streamed])],
24 | sort: [Media.Sort(key: .creationDate, ascending: false)])
25 | public static var streams: [Video]
| |- warning: static property 'streams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'streams' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'streams' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | /// All high frame rate videos in the library
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:32:23: warning: static property 'highFrameRates' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
30 | @FetchAssets(filter: [.mediaSubtypes([.highFrameRate])],
31 | sort: [Media.Sort(key: .creationDate, ascending: false)])
32 | public static var highFrameRates: [Video]
| |- warning: static property 'highFrameRates' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'highFrameRates' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'highFrameRates' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 |
34 | /// All timelapse videos in the library
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:39:23: warning: static property 'timelapses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
37 | @FetchAssets(filter: [.mediaSubtypes([.timelapse])],
38 | sort: [Media.Sort(key: .creationDate, ascending: false)])
39 | public static var timelapses: [Video]
| |- warning: static property 'timelapses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'timelapses' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'timelapses' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 | }
41 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/internal/Capture/Extensions/AVCaptureSession+Error.swift:16:14: warning: associated value 'cannotAddInput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureDeviceInput'; this is an error in the Swift 6 language mode
14 | enum Error: Swift.Error {
15 | /// Thrown if the given input could not be added
16 | case cannotAddInput(_ input: AVCaptureDeviceInput)
| `- warning: associated value 'cannotAddInput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureDeviceInput'; this is an error in the Swift 6 language mode
17 | /// Thrown if the given output could not be added
18 | case cannotAddOutput(_ output: AVCaptureOutput)
AVFoundation.AVCaptureDeviceInput:2:12: note: class 'AVCaptureDeviceInput' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVCaptureDeviceInput : AVCaptureInput {
| `- note: class 'AVCaptureDeviceInput' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable, message: "superseded by import of -[AVCaptureDeviceInput initWithDevice:error:]")
4 | public convenience init(device: AVCaptureDevice) throws
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/internal/Capture/Extensions/AVCaptureSession+Error.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
6 | //
7 |
8 | import AVFoundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
9 |
10 | @available(iOS 10, *)
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/internal/Capture/Extensions/AVCaptureSession+Error.swift:18:14: warning: associated value 'cannotAddOutput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureOutput'; this is an error in the Swift 6 language mode
16 | case cannotAddInput(_ input: AVCaptureDeviceInput)
17 | /// Thrown if the given output could not be added
18 | case cannotAddOutput(_ output: AVCaptureOutput)
| `- warning: associated value 'cannotAddOutput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureOutput'; this is an error in the Swift 6 language mode
19 | /// Thrown if there is no default audio device
20 | case noDefaultAudioDevice
AVFoundation.AVCaptureOutput:2:12: note: class 'AVCaptureOutput' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVCaptureOutput : NSObject {
| `- note: class 'AVCaptureOutput' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:36: warning: sending 'copyCGImageResult' risks causing data races; this is an error in the Swift 6 language mode
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: sending 'copyCGImageResult' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'copyCGImageResult' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:168:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
166 | case let .failure(error):
167 | DispatchQueue.main.async {
168 | completion(.failure(error))
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
169 | }
170 | }
[108/121] Compiling MediaCore AVCaptureDevice+Error.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:17:16: warning: static property 'videoManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
17 | static var videoManager: VideoManager = PHImageManager.default()
| |- warning: static property 'videoManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'videoManager' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'videoManager' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 | private var phAsset: PHAsset? { phAssetWrapper.value }
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:148:13: warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
12 | /// `video`
13 | ///
14 | public struct Video: MediaProtocol {
| `- note: consider making struct 'Video' conform to the 'Sendable' protocol
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
:
146 | func previewImage(at requestedTime: CMTime = .init(seconds: 1, preferredTimescale: 60), _ completion: @escaping (Result<UniversalImage, Swift.Error>) -> Void) {
147 | DispatchQueue.global(qos: .userInitiated).async {
148 | avAsset { avAssetResult in
| `- warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
149 | switch avAssetResult {
150 | case let .success(asset):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:25: warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in a `@Sendable` closure
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:25: warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:244:56: warning: capture of 'exportOptions' with non-sendable type 'Video.ExportOptions' in a `@Sendable` closure
242 | } else if let exportSession = exportSession {
243 | exportSession.determineCompatibleFileTypes { compatibleFileTypes in
244 | guard compatibleFileTypes.contains(exportOptions.outputURL.fileType.avFileType) else {
| `- warning: capture of 'exportOptions' with non-sendable type 'Video.ExportOptions' in a `@Sendable` closure
245 | completion(.failure(Error.unsupportedFileType))
246 | return
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video+ExportOptions.swift:19:19: note: consider making struct 'ExportOptions' conform to the 'Sendable' protocol
17 | /// Represents the options for a `Video` export
18 | ///
19 | public struct ExportOptions {
| `- note: consider making struct 'ExportOptions' conform to the 'Sendable' protocol
20 | let outputURL: Media.URL<Video>
21 | let quality: VideoExportQualityType
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:245:25: warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
243 | exportSession.determineCompatibleFileTypes { compatibleFileTypes in
244 | guard compatibleFileTypes.contains(exportOptions.outputURL.fileType.avFileType) else {
245 | completion(.failure(Error.unsupportedFileType))
| |- warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
246 | return
247 | }
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:249:21: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
247 | }
248 |
249 | exportSession.outputURL = exportOptions.outputURL.value
| `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
250 | exportSession.outputFileType = exportOptions.outputURL.fileType.avFileType
251 |
AVFoundation.AVAssetExportSession:2:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVAssetExportSession : NSObject {
| `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:252:33: warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
12 | /// `video`
13 | ///
14 | public struct Video: MediaProtocol {
| `- note: consider making struct 'Video' conform to the 'Sendable' protocol
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
:
250 | exportSession.outputFileType = exportOptions.outputURL.fileType.avFileType
251 |
252 | let timer = self.createTimer(for: exportSession, progress: progress)
| `- warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
253 | RunLoop.main.add(timer, forMode: .common)
254 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:252:80: warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
250 | exportSession.outputFileType = exportOptions.outputURL.fileType.avFileType
251 |
252 | let timer = self.createTimer(for: exportSession, progress: progress)
| |- warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
253 | RunLoop.main.add(timer, forMode: .common)
254 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:256:32: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
254 |
255 | exportSession.exportAsynchronously {
256 | switch exportSession.status {
| `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
257 | case .completed:
258 | timer.invalidate()
AVFoundation.AVAssetExportSession:2:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVAssetExportSession : NSObject {
| `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:258:29: warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure
256 | switch exportSession.status {
257 | case .completed:
258 | timer.invalidate()
| `- warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure
259 | completion(.success(()))
260 | case .failed:
Foundation.Timer:1:12: note: class 'Timer' does not conform to the 'Sendable' protocol
1 | open class Timer : NSObject {
| `- note: class 'Timer' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init(timeInterval ti: TimeInterval, invocation: NSInvocation, repeats yesOrNo: Bool)
3 | @available(*, unavailable, renamed: "init(timeInterval:invocation:repeats:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:259:29: warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
257 | case .completed:
258 | timer.invalidate()
259 | completion(.success(()))
| |- warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
260 | case .failed:
261 | timer.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:355:17: warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
12 | /// `video`
13 | ///
14 | public struct Video: MediaProtocol {
| `- note: consider making struct 'Video' conform to the 'Sendable' protocol
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
:
353 | if #available(iOS 10, macOS 10.13, tvOS 10, *) {
354 | timer = Timer(timeInterval: 1, repeats: true) { timer in
355 | self.handleProgressTimerFired(exportSession: exportSession,
| `- warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
356 | timer: timer,
357 | progress: progress)
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:355:62: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
353 | if #available(iOS 10, macOS 10.13, tvOS 10, *) {
354 | timer = Timer(timeInterval: 1, repeats: true) { timer in
355 | self.handleProgressTimerFired(exportSession: exportSession,
| `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
356 | timer: timer,
357 | progress: progress)
AVFoundation.AVAssetExportSession:2:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVAssetExportSession : NSObject {
| `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:357:57: warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
355 | self.handleProgressTimerFired(exportSession: exportSession,
356 | timer: timer,
357 | progress: progress)
| |- warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
358 | }
359 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:18:23: warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | ///
17 | @FetchAssets(sort: [Media.Sort(key: .creationDate, ascending: false)])
18 | public static var all: [Video]
| |- warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'all' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | /// All streams in the library
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:25:23: warning: static property 'streams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
23 | @FetchAssets(filter: [.mediaSubtypes([.streamed])],
24 | sort: [Media.Sort(key: .creationDate, ascending: false)])
25 | public static var streams: [Video]
| |- warning: static property 'streams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'streams' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'streams' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | /// All high frame rate videos in the library
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:32:23: warning: static property 'highFrameRates' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
30 | @FetchAssets(filter: [.mediaSubtypes([.highFrameRate])],
31 | sort: [Media.Sort(key: .creationDate, ascending: false)])
32 | public static var highFrameRates: [Video]
| |- warning: static property 'highFrameRates' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'highFrameRates' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'highFrameRates' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 |
34 | /// All timelapse videos in the library
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:39:23: warning: static property 'timelapses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
37 | @FetchAssets(filter: [.mediaSubtypes([.timelapse])],
38 | sort: [Media.Sort(key: .creationDate, ascending: false)])
39 | public static var timelapses: [Video]
| |- warning: static property 'timelapses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'timelapses' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'timelapses' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 | }
41 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/internal/Capture/Extensions/AVCaptureSession+Error.swift:16:14: warning: associated value 'cannotAddInput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureDeviceInput'; this is an error in the Swift 6 language mode
14 | enum Error: Swift.Error {
15 | /// Thrown if the given input could not be added
16 | case cannotAddInput(_ input: AVCaptureDeviceInput)
| `- warning: associated value 'cannotAddInput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureDeviceInput'; this is an error in the Swift 6 language mode
17 | /// Thrown if the given output could not be added
18 | case cannotAddOutput(_ output: AVCaptureOutput)
AVFoundation.AVCaptureDeviceInput:2:12: note: class 'AVCaptureDeviceInput' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVCaptureDeviceInput : AVCaptureInput {
| `- note: class 'AVCaptureDeviceInput' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable, message: "superseded by import of -[AVCaptureDeviceInput initWithDevice:error:]")
4 | public convenience init(device: AVCaptureDevice) throws
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/internal/Capture/Extensions/AVCaptureSession+Error.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
6 | //
7 |
8 | import AVFoundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
9 |
10 | @available(iOS 10, *)
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/internal/Capture/Extensions/AVCaptureSession+Error.swift:18:14: warning: associated value 'cannotAddOutput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureOutput'; this is an error in the Swift 6 language mode
16 | case cannotAddInput(_ input: AVCaptureDeviceInput)
17 | /// Thrown if the given output could not be added
18 | case cannotAddOutput(_ output: AVCaptureOutput)
| `- warning: associated value 'cannotAddOutput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureOutput'; this is an error in the Swift 6 language mode
19 | /// Thrown if there is no default audio device
20 | case noDefaultAudioDevice
AVFoundation.AVCaptureOutput:2:12: note: class 'AVCaptureOutput' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVCaptureOutput : NSObject {
| `- note: class 'AVCaptureOutput' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:36: warning: sending 'copyCGImageResult' risks causing data races; this is an error in the Swift 6 language mode
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: sending 'copyCGImageResult' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'copyCGImageResult' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:168:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
166 | case let .failure(error):
167 | DispatchQueue.main.async {
168 | completion(.failure(error))
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
169 | }
170 | }
[109/121] Compiling MediaCore AVCaptureSession+Error.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:17:16: warning: static property 'videoManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
17 | static var videoManager: VideoManager = PHImageManager.default()
| |- warning: static property 'videoManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'videoManager' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'videoManager' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 | private var phAsset: PHAsset? { phAssetWrapper.value }
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:148:13: warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
12 | /// `video`
13 | ///
14 | public struct Video: MediaProtocol {
| `- note: consider making struct 'Video' conform to the 'Sendable' protocol
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
:
146 | func previewImage(at requestedTime: CMTime = .init(seconds: 1, preferredTimescale: 60), _ completion: @escaping (Result<UniversalImage, Swift.Error>) -> Void) {
147 | DispatchQueue.global(qos: .userInitiated).async {
148 | avAsset { avAssetResult in
| `- warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
149 | switch avAssetResult {
150 | case let .success(asset):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:25: warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in a `@Sendable` closure
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:25: warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:244:56: warning: capture of 'exportOptions' with non-sendable type 'Video.ExportOptions' in a `@Sendable` closure
242 | } else if let exportSession = exportSession {
243 | exportSession.determineCompatibleFileTypes { compatibleFileTypes in
244 | guard compatibleFileTypes.contains(exportOptions.outputURL.fileType.avFileType) else {
| `- warning: capture of 'exportOptions' with non-sendable type 'Video.ExportOptions' in a `@Sendable` closure
245 | completion(.failure(Error.unsupportedFileType))
246 | return
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video+ExportOptions.swift:19:19: note: consider making struct 'ExportOptions' conform to the 'Sendable' protocol
17 | /// Represents the options for a `Video` export
18 | ///
19 | public struct ExportOptions {
| `- note: consider making struct 'ExportOptions' conform to the 'Sendable' protocol
20 | let outputURL: Media.URL<Video>
21 | let quality: VideoExportQualityType
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:245:25: warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
243 | exportSession.determineCompatibleFileTypes { compatibleFileTypes in
244 | guard compatibleFileTypes.contains(exportOptions.outputURL.fileType.avFileType) else {
245 | completion(.failure(Error.unsupportedFileType))
| |- warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
246 | return
247 | }
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:249:21: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
247 | }
248 |
249 | exportSession.outputURL = exportOptions.outputURL.value
| `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
250 | exportSession.outputFileType = exportOptions.outputURL.fileType.avFileType
251 |
AVFoundation.AVAssetExportSession:2:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVAssetExportSession : NSObject {
| `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:252:33: warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
12 | /// `video`
13 | ///
14 | public struct Video: MediaProtocol {
| `- note: consider making struct 'Video' conform to the 'Sendable' protocol
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
:
250 | exportSession.outputFileType = exportOptions.outputURL.fileType.avFileType
251 |
252 | let timer = self.createTimer(for: exportSession, progress: progress)
| `- warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
253 | RunLoop.main.add(timer, forMode: .common)
254 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:252:80: warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
250 | exportSession.outputFileType = exportOptions.outputURL.fileType.avFileType
251 |
252 | let timer = self.createTimer(for: exportSession, progress: progress)
| |- warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
253 | RunLoop.main.add(timer, forMode: .common)
254 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:256:32: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
254 |
255 | exportSession.exportAsynchronously {
256 | switch exportSession.status {
| `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
257 | case .completed:
258 | timer.invalidate()
AVFoundation.AVAssetExportSession:2:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVAssetExportSession : NSObject {
| `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:258:29: warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure
256 | switch exportSession.status {
257 | case .completed:
258 | timer.invalidate()
| `- warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure
259 | completion(.success(()))
260 | case .failed:
Foundation.Timer:1:12: note: class 'Timer' does not conform to the 'Sendable' protocol
1 | open class Timer : NSObject {
| `- note: class 'Timer' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init(timeInterval ti: TimeInterval, invocation: NSInvocation, repeats yesOrNo: Bool)
3 | @available(*, unavailable, renamed: "init(timeInterval:invocation:repeats:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:259:29: warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
257 | case .completed:
258 | timer.invalidate()
259 | completion(.success(()))
| |- warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
260 | case .failed:
261 | timer.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:355:17: warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
12 | /// `video`
13 | ///
14 | public struct Video: MediaProtocol {
| `- note: consider making struct 'Video' conform to the 'Sendable' protocol
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
:
353 | if #available(iOS 10, macOS 10.13, tvOS 10, *) {
354 | timer = Timer(timeInterval: 1, repeats: true) { timer in
355 | self.handleProgressTimerFired(exportSession: exportSession,
| `- warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
356 | timer: timer,
357 | progress: progress)
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:355:62: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
353 | if #available(iOS 10, macOS 10.13, tvOS 10, *) {
354 | timer = Timer(timeInterval: 1, repeats: true) { timer in
355 | self.handleProgressTimerFired(exportSession: exportSession,
| `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
356 | timer: timer,
357 | progress: progress)
AVFoundation.AVAssetExportSession:2:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVAssetExportSession : NSObject {
| `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:357:57: warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
355 | self.handleProgressTimerFired(exportSession: exportSession,
356 | timer: timer,
357 | progress: progress)
| |- warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
358 | }
359 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:18:23: warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | ///
17 | @FetchAssets(sort: [Media.Sort(key: .creationDate, ascending: false)])
18 | public static var all: [Video]
| |- warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'all' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | /// All streams in the library
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:25:23: warning: static property 'streams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
23 | @FetchAssets(filter: [.mediaSubtypes([.streamed])],
24 | sort: [Media.Sort(key: .creationDate, ascending: false)])
25 | public static var streams: [Video]
| |- warning: static property 'streams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'streams' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'streams' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | /// All high frame rate videos in the library
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:32:23: warning: static property 'highFrameRates' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
30 | @FetchAssets(filter: [.mediaSubtypes([.highFrameRate])],
31 | sort: [Media.Sort(key: .creationDate, ascending: false)])
32 | public static var highFrameRates: [Video]
| |- warning: static property 'highFrameRates' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'highFrameRates' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'highFrameRates' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 |
34 | /// All timelapse videos in the library
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:39:23: warning: static property 'timelapses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
37 | @FetchAssets(filter: [.mediaSubtypes([.timelapse])],
38 | sort: [Media.Sort(key: .creationDate, ascending: false)])
39 | public static var timelapses: [Video]
| |- warning: static property 'timelapses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'timelapses' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'timelapses' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 | }
41 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/internal/Capture/Extensions/AVCaptureSession+Error.swift:16:14: warning: associated value 'cannotAddInput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureDeviceInput'; this is an error in the Swift 6 language mode
14 | enum Error: Swift.Error {
15 | /// Thrown if the given input could not be added
16 | case cannotAddInput(_ input: AVCaptureDeviceInput)
| `- warning: associated value 'cannotAddInput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureDeviceInput'; this is an error in the Swift 6 language mode
17 | /// Thrown if the given output could not be added
18 | case cannotAddOutput(_ output: AVCaptureOutput)
AVFoundation.AVCaptureDeviceInput:2:12: note: class 'AVCaptureDeviceInput' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVCaptureDeviceInput : AVCaptureInput {
| `- note: class 'AVCaptureDeviceInput' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable, message: "superseded by import of -[AVCaptureDeviceInput initWithDevice:error:]")
4 | public convenience init(device: AVCaptureDevice) throws
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/internal/Capture/Extensions/AVCaptureSession+Error.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
6 | //
7 |
8 | import AVFoundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
9 |
10 | @available(iOS 10, *)
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/internal/Capture/Extensions/AVCaptureSession+Error.swift:18:14: warning: associated value 'cannotAddOutput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureOutput'; this is an error in the Swift 6 language mode
16 | case cannotAddInput(_ input: AVCaptureDeviceInput)
17 | /// Thrown if the given output could not be added
18 | case cannotAddOutput(_ output: AVCaptureOutput)
| `- warning: associated value 'cannotAddOutput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureOutput'; this is an error in the Swift 6 language mode
19 | /// Thrown if there is no default audio device
20 | case noDefaultAudioDevice
AVFoundation.AVCaptureOutput:2:12: note: class 'AVCaptureOutput' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVCaptureOutput : NSObject {
| `- note: class 'AVCaptureOutput' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:36: warning: sending 'copyCGImageResult' risks causing data races; this is an error in the Swift 6 language mode
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: sending 'copyCGImageResult' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'copyCGImageResult' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:168:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
166 | case let .failure(error):
167 | DispatchQueue.main.async {
168 | completion(.failure(error))
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
169 | }
170 | }
[110/121] Compiling MediaCore PhotoCaptureProcessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:17:16: warning: static property 'videoManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
17 | static var videoManager: VideoManager = PHImageManager.default()
| |- warning: static property 'videoManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'videoManager' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'videoManager' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 | private var phAsset: PHAsset? { phAssetWrapper.value }
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:148:13: warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
12 | /// `video`
13 | ///
14 | public struct Video: MediaProtocol {
| `- note: consider making struct 'Video' conform to the 'Sendable' protocol
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
:
146 | func previewImage(at requestedTime: CMTime = .init(seconds: 1, preferredTimescale: 60), _ completion: @escaping (Result<UniversalImage, Swift.Error>) -> Void) {
147 | DispatchQueue.global(qos: .userInitiated).async {
148 | avAsset { avAssetResult in
| `- warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
149 | switch avAssetResult {
150 | case let .success(asset):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:25: warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in a `@Sendable` closure
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:25: warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: capture of 'completion' with non-sendable type '(Result<UniversalImage, any Error>) -> Void' (aka '(Result<NSImage, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:244:56: warning: capture of 'exportOptions' with non-sendable type 'Video.ExportOptions' in a `@Sendable` closure
242 | } else if let exportSession = exportSession {
243 | exportSession.determineCompatibleFileTypes { compatibleFileTypes in
244 | guard compatibleFileTypes.contains(exportOptions.outputURL.fileType.avFileType) else {
| `- warning: capture of 'exportOptions' with non-sendable type 'Video.ExportOptions' in a `@Sendable` closure
245 | completion(.failure(Error.unsupportedFileType))
246 | return
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video+ExportOptions.swift:19:19: note: consider making struct 'ExportOptions' conform to the 'Sendable' protocol
17 | /// Represents the options for a `Video` export
18 | ///
19 | public struct ExportOptions {
| `- note: consider making struct 'ExportOptions' conform to the 'Sendable' protocol
20 | let outputURL: Media.URL<Video>
21 | let quality: VideoExportQualityType
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:245:25: warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
243 | exportSession.determineCompatibleFileTypes { compatibleFileTypes in
244 | guard compatibleFileTypes.contains(exportOptions.outputURL.fileType.avFileType) else {
245 | completion(.failure(Error.unsupportedFileType))
| |- warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
246 | return
247 | }
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:249:21: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
247 | }
248 |
249 | exportSession.outputURL = exportOptions.outputURL.value
| `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
250 | exportSession.outputFileType = exportOptions.outputURL.fileType.avFileType
251 |
AVFoundation.AVAssetExportSession:2:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVAssetExportSession : NSObject {
| `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:252:33: warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
12 | /// `video`
13 | ///
14 | public struct Video: MediaProtocol {
| `- note: consider making struct 'Video' conform to the 'Sendable' protocol
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
:
250 | exportSession.outputFileType = exportOptions.outputURL.fileType.avFileType
251 |
252 | let timer = self.createTimer(for: exportSession, progress: progress)
| `- warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
253 | RunLoop.main.add(timer, forMode: .common)
254 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:252:80: warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
250 | exportSession.outputFileType = exportOptions.outputURL.fileType.avFileType
251 |
252 | let timer = self.createTimer(for: exportSession, progress: progress)
| |- warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
253 | RunLoop.main.add(timer, forMode: .common)
254 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:256:32: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
254 |
255 | exportSession.exportAsynchronously {
256 | switch exportSession.status {
| `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
257 | case .completed:
258 | timer.invalidate()
AVFoundation.AVAssetExportSession:2:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVAssetExportSession : NSObject {
| `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:258:29: warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure
256 | switch exportSession.status {
257 | case .completed:
258 | timer.invalidate()
| `- warning: capture of 'timer' with non-sendable type 'Timer' in a `@Sendable` closure
259 | completion(.success(()))
260 | case .failed:
Foundation.Timer:1:12: note: class 'Timer' does not conform to the 'Sendable' protocol
1 | open class Timer : NSObject {
| `- note: class 'Timer' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init(timeInterval ti: TimeInterval, invocation: NSInvocation, repeats yesOrNo: Bool)
3 | @available(*, unavailable, renamed: "init(timeInterval:invocation:repeats:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:259:29: warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
257 | case .completed:
258 | timer.invalidate()
259 | completion(.success(()))
| |- warning: capture of 'completion' with non-sendable type 'ResultVoidCompletion' (aka '(Result<(), any Error>) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
260 | case .failed:
261 | timer.invalidate()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:355:17: warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
12 | /// `video`
13 | ///
14 | public struct Video: MediaProtocol {
| `- note: consider making struct 'Video' conform to the 'Sendable' protocol
15 | public typealias ProgressHandler = (Video.ExportProgress) -> Void
16 |
:
353 | if #available(iOS 10, macOS 10.13, tvOS 10, *) {
354 | timer = Timer(timeInterval: 1, repeats: true) { timer in
355 | self.handleProgressTimerFired(exportSession: exportSession,
| `- warning: capture of 'self' with non-sendable type 'Video' in a `@Sendable` closure
356 | timer: timer,
357 | progress: progress)
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:355:62: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
353 | if #available(iOS 10, macOS 10.13, tvOS 10, *) {
354 | timer = Timer(timeInterval: 1, repeats: true) { timer in
355 | self.handleProgressTimerFired(exportSession: exportSession,
| `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a `@Sendable` closure
356 | timer: timer,
357 | progress: progress)
AVFoundation.AVAssetExportSession:2:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVAssetExportSession : NSObject {
| `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public convenience init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:357:57: warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
355 | self.handleProgressTimerFired(exportSession: exportSession,
356 | timer: timer,
357 | progress: progress)
| |- warning: capture of 'progress' with non-sendable type 'Video.ProgressHandler' (aka '(Video.ExportProgress) -> ()') in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
358 | }
359 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:18:23: warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | ///
17 | @FetchAssets(sort: [Media.Sort(key: .creationDate, ascending: false)])
18 | public static var all: [Video]
| |- warning: static property 'all' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'all' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | /// All streams in the library
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:25:23: warning: static property 'streams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
23 | @FetchAssets(filter: [.mediaSubtypes([.streamed])],
24 | sort: [Media.Sort(key: .creationDate, ascending: false)])
25 | public static var streams: [Video]
| |- warning: static property 'streams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'streams' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'streams' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | /// All high frame rate videos in the library
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:32:23: warning: static property 'highFrameRates' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
30 | @FetchAssets(filter: [.mediaSubtypes([.highFrameRate])],
31 | sort: [Media.Sort(key: .creationDate, ascending: false)])
32 | public static var highFrameRates: [Video]
| |- warning: static property 'highFrameRates' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'highFrameRates' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'highFrameRates' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
33 |
34 | /// All timelapse videos in the library
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Videos.swift:39:23: warning: static property 'timelapses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
37 | @FetchAssets(filter: [.mediaSubtypes([.timelapse])],
38 | sort: [Media.Sort(key: .creationDate, ascending: false)])
39 | public static var timelapses: [Video]
| |- warning: static property 'timelapses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'timelapses' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'timelapses' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 | }
41 |
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/internal/Capture/Extensions/AVCaptureSession+Error.swift:16:14: warning: associated value 'cannotAddInput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureDeviceInput'; this is an error in the Swift 6 language mode
14 | enum Error: Swift.Error {
15 | /// Thrown if the given input could not be added
16 | case cannotAddInput(_ input: AVCaptureDeviceInput)
| `- warning: associated value 'cannotAddInput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureDeviceInput'; this is an error in the Swift 6 language mode
17 | /// Thrown if the given output could not be added
18 | case cannotAddOutput(_ output: AVCaptureOutput)
AVFoundation.AVCaptureDeviceInput:2:12: note: class 'AVCaptureDeviceInput' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVCaptureDeviceInput : AVCaptureInput {
| `- note: class 'AVCaptureDeviceInput' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable, message: "superseded by import of -[AVCaptureDeviceInput initWithDevice:error:]")
4 | public convenience init(device: AVCaptureDevice) throws
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/internal/Capture/Extensions/AVCaptureSession+Error.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
6 | //
7 |
8 | import AVFoundation
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
9 |
10 | @available(iOS 10, *)
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/internal/Capture/Extensions/AVCaptureSession+Error.swift:18:14: warning: associated value 'cannotAddOutput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureOutput'; this is an error in the Swift 6 language mode
16 | case cannotAddInput(_ input: AVCaptureDeviceInput)
17 | /// Thrown if the given output could not be added
18 | case cannotAddOutput(_ output: AVCaptureOutput)
| `- warning: associated value 'cannotAddOutput' of 'Sendable'-conforming enum 'Error' has non-sendable type 'AVCaptureOutput'; this is an error in the Swift 6 language mode
19 | /// Thrown if there is no default audio device
20 | case noDefaultAudioDevice
AVFoundation.AVCaptureOutput:2:12: note: class 'AVCaptureOutput' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.7, *)
2 | open class AVCaptureOutput : NSObject {
| `- note: class 'AVCaptureOutput' does not conform to the 'Sendable' protocol
3 | @available(*, unavailable)
4 | public init()
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:164:36: warning: sending 'copyCGImageResult' risks causing data races; this is an error in the Swift 6 language mode
162 |
163 | DispatchQueue.main.async {
164 | completion(copyCGImageResult)
| |- warning: sending 'copyCGImageResult' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'copyCGImageResult' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
165 | }
166 | case let .failure(error):
/Users/admin/builder/spi-builder-workspace/Sources/MediaCore/API/Video/Video.swift:168:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
166 | case let .failure(error):
167 | DispatchQueue.main.async {
168 | completion(.failure(error))
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
169 | }
170 | }
[111/121] Compiling MediaCore CaptureProcessor.swift
[112/121] Compiling MediaCore CaptureProcessorDelegate.swift
[113/121] Compiling MediaCore VideoRecorder.swift
[114/121] Compiling MediaCore OptionalString+compare.swift
[115/121] Compiling MediaCore CustomPatternMatching.swift
[116/121] Compiling MediaCore Pattern+mismatchs.swift
[117/121] Compiling MediaCore Pattern+unsupportedPathExtension.swift
[118/121] Compiling MediaCore PHAsset+anyMedia.swift
[119/121] Compiling MediaCore PHAssetChangeRequest+AssetChangeRequest.swift
[120/121] Compiling MediaCore PHFetchOptions.swift
[121/121] Compiling MediaCore PHImageManager+ImageManager.swift
[122/155] Compiling MediaSwiftUI MediaPicker.swift
[123/155] Compiling MediaSwiftUI MediaPickerValue.swift
[124/155] Compiling MediaSwiftUI PhotoView.swift
[125/155] Compiling MediaSwiftUI Video+SwiftUI.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:14:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
12 | import SwiftUI
13 |
14 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
15 | public extension Video {
16 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:24:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
22 |
23 | #if !os(tvOS)
24 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
25 | public extension Video {
26 | /// Alias for a completion block getting a `Result` containing a `<Media.URL<Video>`
[126/155] Compiling MediaSwiftUI CameraViewCreator.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:14:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
12 | import SwiftUI
13 |
14 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
15 | public extension Video {
16 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:24:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
22 |
23 | #if !os(tvOS)
24 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
25 | public extension Video {
26 | /// Alias for a completion block getting a `Result` containing a `<Media.URL<Video>`
[127/155] Compiling MediaSwiftUI AVCaptureVideoPreview.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:14:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
12 | import SwiftUI
13 |
14 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
15 | public extension Video {
16 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:24:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
22 |
23 | #if !os(tvOS)
24 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
25 | public extension Video {
26 | /// Alias for a completion block getting a `Result` containing a `<Media.URL<Video>`
[128/155] Compiling MediaSwiftUI CameraView.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:14:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
12 | import SwiftUI
13 |
14 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
15 | public extension Video {
16 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:24:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
22 |
23 | #if !os(tvOS)
24 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
25 | public extension Video {
26 | /// Alias for a completion block getting a `Result` containing a `<Media.URL<Video>`
[129/155] Compiling MediaSwiftUI PhotosUILivePhotoView.swift
[130/155] Compiling MediaSwiftUI Media+SwiftUI.swift
[131/155] Compiling MediaSwiftUI MediaSwiftUIAliases.swift
[132/155] Compiling MediaSwiftUI BrowserResult.swift
[133/158] Emitting module MediaSwiftUI
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:16:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
14 |
15 | #if !os(tvOS)
16 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
17 | public extension Photo {
18 | typealias ResultPhotoCameraResultCompletion = (Result<Camera.Result, Swift.Error>) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:151:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
149 | #endif
150 |
151 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
152 | public extension Photo {
153 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:14:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
12 | import SwiftUI
13 |
14 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
15 | public extension Video {
16 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:24:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
22 |
23 | #if !os(tvOS)
24 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
25 | public extension Video {
26 | /// Alias for a completion block getting a `Result` containing a `<Media.URL<Video>`
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/internal/Models/Garbage.swift:11:16: warning: static property 'cancellables' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | struct Garbage {
11 | static var cancellables: [AnyCancellable] = []
| |- warning: static property 'cancellables' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'cancellables' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'cancellables' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | }
13 |
[134/158] Compiling MediaSwiftUI MediaPicker+Error.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:18:47: warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
16 | public func loadLivePhoto() -> AnyPublisher<PHLivePhoto, Swift.Error> {
17 | Future { promise in
18 | guard self.canLoadObject(ofClass: PHLivePhoto.self) else {
| `- warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
19 | promise(.failure(Error.couldNotLoadObject(underlying: Error.unknown)))
20 | return
Photos.PHLivePhoto:2:11: note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | extension PHLivePhoto : NSItemProviderReading {
| `- note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
3 | @available(macOS 10.13, *)
4 | open class var readableTypeIdentifiersForItemProvider: [String] { get }
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:23:38: warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
21 | }
22 |
23 | self.loadObject(ofClass: PHLivePhoto.self) { livePhoto, error in
| `- warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
24 | if let error = error {
25 | promise(.failure(Error.couldNotLoadObject(underlying: error)))
Photos.PHLivePhoto:2:11: note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | extension PHLivePhoto : NSItemProviderReading {
| `- note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
3 | @available(macOS 10.13, *)
4 | open class var readableTypeIdentifiersForItemProvider: [String] { get }
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:25:21: warning: capture of 'promise' with non-sendable type '(Result<PHLivePhoto, any Error>) -> Void' in a `@Sendable` closure
23 | self.loadObject(ofClass: PHLivePhoto.self) { livePhoto, error in
24 | if let error = error {
25 | promise(.failure(Error.couldNotLoadObject(underlying: error)))
| |- warning: capture of 'promise' with non-sendable type '(Result<PHLivePhoto, any Error>) -> Void' in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
26 | } else if let livePhoto = livePhoto {
27 | promise(.success(livePhoto as! PHLivePhoto))
[135/158] Compiling MediaSwiftUI NSItemProvider+Error.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:18:47: warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
16 | public func loadLivePhoto() -> AnyPublisher<PHLivePhoto, Swift.Error> {
17 | Future { promise in
18 | guard self.canLoadObject(ofClass: PHLivePhoto.self) else {
| `- warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
19 | promise(.failure(Error.couldNotLoadObject(underlying: Error.unknown)))
20 | return
Photos.PHLivePhoto:2:11: note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | extension PHLivePhoto : NSItemProviderReading {
| `- note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
3 | @available(macOS 10.13, *)
4 | open class var readableTypeIdentifiersForItemProvider: [String] { get }
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:23:38: warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
21 | }
22 |
23 | self.loadObject(ofClass: PHLivePhoto.self) { livePhoto, error in
| `- warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
24 | if let error = error {
25 | promise(.failure(Error.couldNotLoadObject(underlying: error)))
Photos.PHLivePhoto:2:11: note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | extension PHLivePhoto : NSItemProviderReading {
| `- note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
3 | @available(macOS 10.13, *)
4 | open class var readableTypeIdentifiersForItemProvider: [String] { get }
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:25:21: warning: capture of 'promise' with non-sendable type '(Result<PHLivePhoto, any Error>) -> Void' in a `@Sendable` closure
23 | self.loadObject(ofClass: PHLivePhoto.self) { livePhoto, error in
24 | if let error = error {
25 | promise(.failure(Error.couldNotLoadObject(underlying: error)))
| |- warning: capture of 'promise' with non-sendable type '(Result<PHLivePhoto, any Error>) -> Void' in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
26 | } else if let livePhoto = livePhoto {
27 | promise(.success(livePhoto as! PHLivePhoto))
[136/158] Compiling MediaSwiftUI NSItemProvider+loadImage.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:18:47: warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
16 | public func loadLivePhoto() -> AnyPublisher<PHLivePhoto, Swift.Error> {
17 | Future { promise in
18 | guard self.canLoadObject(ofClass: PHLivePhoto.self) else {
| `- warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
19 | promise(.failure(Error.couldNotLoadObject(underlying: Error.unknown)))
20 | return
Photos.PHLivePhoto:2:11: note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | extension PHLivePhoto : NSItemProviderReading {
| `- note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
3 | @available(macOS 10.13, *)
4 | open class var readableTypeIdentifiersForItemProvider: [String] { get }
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:23:38: warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
21 | }
22 |
23 | self.loadObject(ofClass: PHLivePhoto.self) { livePhoto, error in
| `- warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
24 | if let error = error {
25 | promise(.failure(Error.couldNotLoadObject(underlying: error)))
Photos.PHLivePhoto:2:11: note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | extension PHLivePhoto : NSItemProviderReading {
| `- note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
3 | @available(macOS 10.13, *)
4 | open class var readableTypeIdentifiersForItemProvider: [String] { get }
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:25:21: warning: capture of 'promise' with non-sendable type '(Result<PHLivePhoto, any Error>) -> Void' in a `@Sendable` closure
23 | self.loadObject(ofClass: PHLivePhoto.self) { livePhoto, error in
24 | if let error = error {
25 | promise(.failure(Error.couldNotLoadObject(underlying: error)))
| |- warning: capture of 'promise' with non-sendable type '(Result<PHLivePhoto, any Error>) -> Void' in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
26 | } else if let livePhoto = livePhoto {
27 | promise(.success(livePhoto as! PHLivePhoto))
[137/158] Compiling MediaSwiftUI NSItemProvider+loadLivePhoto.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:18:47: warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
16 | public func loadLivePhoto() -> AnyPublisher<PHLivePhoto, Swift.Error> {
17 | Future { promise in
18 | guard self.canLoadObject(ofClass: PHLivePhoto.self) else {
| `- warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
19 | promise(.failure(Error.couldNotLoadObject(underlying: Error.unknown)))
20 | return
Photos.PHLivePhoto:2:11: note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | extension PHLivePhoto : NSItemProviderReading {
| `- note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
3 | @available(macOS 10.13, *)
4 | open class var readableTypeIdentifiersForItemProvider: [String] { get }
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:23:38: warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
21 | }
22 |
23 | self.loadObject(ofClass: PHLivePhoto.self) { livePhoto, error in
| `- warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
24 | if let error = error {
25 | promise(.failure(Error.couldNotLoadObject(underlying: error)))
Photos.PHLivePhoto:2:11: note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | extension PHLivePhoto : NSItemProviderReading {
| `- note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
3 | @available(macOS 10.13, *)
4 | open class var readableTypeIdentifiersForItemProvider: [String] { get }
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:25:21: warning: capture of 'promise' with non-sendable type '(Result<PHLivePhoto, any Error>) -> Void' in a `@Sendable` closure
23 | self.loadObject(ofClass: PHLivePhoto.self) { livePhoto, error in
24 | if let error = error {
25 | promise(.failure(Error.couldNotLoadObject(underlying: error)))
| |- warning: capture of 'promise' with non-sendable type '(Result<PHLivePhoto, any Error>) -> Void' in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
26 | } else if let livePhoto = livePhoto {
27 | promise(.success(livePhoto as! PHLivePhoto))
[138/158] Compiling MediaSwiftUI ActivityIndicatorView.swift
[139/158] Compiling MediaSwiftUI LivePhotoView.swift
[140/158] Compiling MediaSwiftUI MediaPicker+Coordinator.swift
[141/158] Compiling MediaSwiftUI VideoPreview.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/internal/Models/Garbage.swift:11:16: warning: static property 'cancellables' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | struct Garbage {
11 | static var cancellables: [AnyCancellable] = []
| |- warning: static property 'cancellables' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'cancellables' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'cancellables' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | }
13 |
[142/158] Compiling MediaSwiftUI Garbage.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/internal/Models/Garbage.swift:11:16: warning: static property 'cancellables' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | struct Garbage {
11 | static var cancellables: [AnyCancellable] = []
| |- warning: static property 'cancellables' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'cancellables' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'cancellables' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | }
13 |
[143/158] Compiling MediaSwiftUI ReferenceWrapper.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/internal/Models/Garbage.swift:11:16: warning: static property 'cancellables' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | struct Garbage {
11 | static var cancellables: [AnyCancellable] = []
| |- warning: static property 'cancellables' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'cancellables' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'cancellables' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | }
13 |
[144/158] Compiling MediaSwiftUI ViewState.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/internal/Models/Garbage.swift:11:16: warning: static property 'cancellables' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | struct Garbage {
11 | static var cancellables: [AnyCancellable] = []
| |- warning: static property 'cancellables' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'cancellables' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'cancellables' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | }
13 |
[145/158] Compiling MediaSwiftUI NSItemProvider+loadVideo.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:16:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
14 |
15 | #if !os(tvOS)
16 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
17 | public extension Photo {
18 | typealias ResultPhotoCameraResultCompletion = (Result<Camera.Result, Swift.Error>) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:151:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
149 | #endif
150 |
151 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
152 | public extension Photo {
153 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadVideo.swift:43:21: warning: capture of 'promise' with non-sendable type '(Result<URL, any Error>) -> Void' in a `@Sendable` closure
41 | return targetLocation
42 | }
43 | promise(result)
| |- warning: capture of 'promise' with non-sendable type '(Result<URL, any Error>) -> Void' in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
44 | } else {
45 | let error = error ?? Error.unknown
[146/158] Compiling MediaSwiftUI PHPicker.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:16:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
14 |
15 | #if !os(tvOS)
16 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
17 | public extension Photo {
18 | typealias ResultPhotoCameraResultCompletion = (Result<Camera.Result, Swift.Error>) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:151:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
149 | #endif
150 |
151 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
152 | public extension Photo {
153 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadVideo.swift:43:21: warning: capture of 'promise' with non-sendable type '(Result<URL, any Error>) -> Void' in a `@Sendable` closure
41 | return targetLocation
42 | }
43 | promise(result)
| |- warning: capture of 'promise' with non-sendable type '(Result<URL, any Error>) -> Void' in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
44 | } else {
45 | let error = error ?? Error.unknown
[147/158] Compiling MediaSwiftUI Photo+Camera+Result.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:16:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
14 |
15 | #if !os(tvOS)
16 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
17 | public extension Photo {
18 | typealias ResultPhotoCameraResultCompletion = (Result<Camera.Result, Swift.Error>) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:151:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
149 | #endif
150 |
151 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
152 | public extension Photo {
153 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadVideo.swift:43:21: warning: capture of 'promise' with non-sendable type '(Result<URL, any Error>) -> Void' in a `@Sendable` closure
41 | return targetLocation
42 | }
43 | promise(result)
| |- warning: capture of 'promise' with non-sendable type '(Result<URL, any Error>) -> Void' in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
44 | } else {
45 | let error = error ?? Error.unknown
[148/158] Compiling MediaSwiftUI Photo+SwiftUI.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:16:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
14 |
15 | #if !os(tvOS)
16 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
17 | public extension Photo {
18 | typealias ResultPhotoCameraResultCompletion = (Result<Camera.Result, Swift.Error>) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:151:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
149 | #endif
150 |
151 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
152 | public extension Photo {
153 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadVideo.swift:43:21: warning: capture of 'promise' with non-sendable type '(Result<URL, any Error>) -> Void' in a `@Sendable` closure
41 | return targetLocation
42 | }
43 | promise(result)
| |- warning: capture of 'promise' with non-sendable type '(Result<URL, any Error>) -> Void' in a `@Sendable` closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
44 | } else {
45 | let error = error ?? Error.unknown
[149/158] Compiling MediaSwiftUI Camera+Error.swift
[150/158] Compiling MediaSwiftUI Camera+Result.swift
[151/158] Compiling MediaSwiftUI Camera.swift
[152/158] Compiling MediaSwiftUI LivePhoto+SwiftUI.swift
[153/158] Compiling MediaSwiftUI ViewWrapper.swift
[154/158] Compiling MediaSwiftUI WeakObjectWrapper.swift
[155/158] Compiling MediaSwiftUI ViewCreator.swift
[156/158] Compiling MediaSwiftUI UniversalProgressView.swift
[157/158] Compiling MediaSwiftUI AVPlayerView.swift
[158/158] Compiling MediaSwiftUI VideoView.swift
Build complete! (22.68s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Media",
"name" : "Media",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "tvos",
"version" : "13.0"
}
],
"products" : [
{
"name" : "MediaCore",
"targets" : [
"MediaCore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MediaSwiftUI",
"targets" : [
"MediaCore",
"MediaSwiftUI"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "MediaTests",
"module_type" : "SwiftTarget",
"name" : "MediaTests",
"path" : "Tests/MediaTests",
"sources" : [
"Capture/AVCaptureDeviceTests.swift",
"Capture/VideoRecorderTests.swift",
"Errors/PermissionErrorTests.swift",
"Extensions/CFString+MediaTypesTests.swift",
"Extensions/FileManagerTests.swift",
"Extensions/OptionalString+compareTests.swift",
"Extensions/PHAsset+anyMediaTests.swift",
"Extensions/PHAuthorizationStatus+PermissionErrorTests.swift",
"Extensions/PHFetchOptions+ConvenienceTests.swift",
"Extensions/PhotoKitDictionaryTests.swift",
"Extensions/UIImagePickerController+MediaTypeTests.swift",
"Extensions/UIImagePickerController+supportedMediaTypesTests.swift",
"Mocks/MockAVAssetExportSession.swift",
"Mocks/MockAVCaptureMovieFileOutput.swift",
"Mocks/MockAVMetadataItem.swift",
"Mocks/MockCaptureProcessor.swift",
"Mocks/MockCaptureProcessorDelegate.swift",
"Mocks/MockImage.swift",
"Mocks/MockImageManager.swift",
"Mocks/MockLivePhotoManager.swift",
"Mocks/MockPHAsset.swift",
"Mocks/MockPHAssetChangeRequest.swift",
"Mocks/MockPHAssetCollection.swift",
"Mocks/MockPHAssetCollectionFetchResult.swift",
"Mocks/MockPHAssetsFetchResult.swift",
"Mocks/MockPHChange.swift",
"Mocks/MockPHContentEditingInput.swift",
"Mocks/MockPHLivePhoto.swift",
"Mocks/MockPHObjectChangeDetails.swift",
"Mocks/MockPHObjectPlaceholder.swift",
"Mocks/MockPhotoLibrary.swift",
"Mocks/MockPhotoLibraryChangeObserver.swift",
"Mocks/MockPropertyWrapperExample.swift",
"Mocks/MockUIImagePickerController.swift",
"Mocks/MockVideoManager.swift",
"Models/Album/AlbumFilterTests.swift",
"Models/Album/AlbumIdentifierTests.swift",
"Models/Album/AlbumTests.swift",
"Models/Album/AlbumTypeTests.swift",
"Models/Album/AlbumsTests.swift",
"Models/Album/LazyAlbumTests.swift",
"Models/AnyMedia+EquatableTests.swift",
"Models/AnyMediaIdentifierTests.swift",
"Models/AnyMediaTests.swift",
"Models/Audio/AudioFileTypeTests.swift",
"Models/Audio/AudioSubtypeTests.swift",
"Models/Audio/AudioTests.swift",
"Models/Audio/AudiosTests.swift",
"Models/Audio/LazyAudiosTests.swift",
"Models/Camera/CameraTests.swift",
"Models/Enums/PhotoSubtypeTests.swift",
"Models/LivePhoto/LazyLivePhotosTests.swift",
"Models/LivePhoto/LivePhotoFileTypeTests.swift",
"Models/LivePhoto/LivePhotoSubtypeTests.swift",
"Models/LivePhoto/LivePhotoTests.swift",
"Models/Media/MediaFilterTests.swift",
"Models/Media/MediaIdentifierTests.swift",
"Models/Media/MediaSwiftUITests.swift",
"Models/Media/MediaTests.swift",
"Models/Media/MediaURLTests.swift",
"Models/PatternTests.swift",
"Models/Photo/LazyPhotosTests.swift",
"Models/Photo/PhotoFileTypeTests.swift",
"Models/Photo/PhotoTests.swift",
"Models/Photo/PhotosTests.swift",
"Models/Video/LazyVideosTests.swift",
"Models/Video/Video+ExportOptionsTests.swift",
"Models/Video/Video+PropertiesTests.swift",
"Models/Video/VideoExportQualityTests.swift",
"Models/Video/VideoFileTypeTests.swift",
"Models/Video/VideoSubtypeTests.swift",
"Models/Video/VideoTests.swift",
"Models/Video/VideosTests.swift",
"Property wrappers/FetchAlbumTests.swift",
"Property wrappers/FetchAssetTests.swift",
"Services/AlbumFetcherTests.swift",
"Services/CustomPhotoLibraryChangeObserverTests.swift",
"Services/PHAssetChangerTests.swift",
"Services/PHAssetFetcherTests.swift",
"Services/PHChangerTests.swift",
"Services/ViewCreatorTests.swift",
"TimerWrapperTests.swift",
"Views/MediaPickerCoordinatorTests.swift",
"Views/MediaPickerTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"MediaSwiftUI"
],
"type" : "test"
},
{
"c99name" : "MediaSwiftUI",
"module_type" : "SwiftTarget",
"name" : "MediaSwiftUI",
"path" : "Sources/MediaSwiftUI",
"product_memberships" : [
"MediaSwiftUI"
],
"sources" : [
"API/Camera/Camera+Error.swift",
"API/Camera/Camera+Result.swift",
"API/Camera/Camera.swift",
"API/LivePhoto/LivePhoto+SwiftUI.swift",
"API/LivePhoto/PhotosUILivePhotoView.swift",
"API/Media/Media+SwiftUI.swift",
"API/MediaSwiftUIAliases.swift",
"API/Models/BrowserResult.swift",
"API/Models/Errors/MediaPicker+Error.swift",
"API/PHPicker/NSItemProvider+Error.swift",
"API/PHPicker/NSItemProvider+loadImage.swift",
"API/PHPicker/NSItemProvider+loadLivePhoto.swift",
"API/PHPicker/NSItemProvider+loadVideo.swift",
"API/PHPicker/PHPicker.swift",
"API/Photo/Photo+Camera+Result.swift",
"API/Photo/Photo+SwiftUI.swift",
"API/Video/Video+SwiftUI.swift",
"internal/Capture/CameraViewCreator.swift",
"internal/Capture/Views/AVCaptureVideoPreview.swift",
"internal/Capture/Views/CameraView.swift",
"internal/Capture/Views/VideoPreview.swift",
"internal/Models/Garbage.swift",
"internal/Models/ReferenceWrapper.swift",
"internal/Models/ViewState.swift",
"internal/Models/ViewWrapper.swift",
"internal/Models/WeakObjectWrapper.swift",
"internal/Services/ViewCreator.swift",
"internal/Views/ActivityIndicatorView.swift",
"internal/Views/LivePhoto/LivePhotoView.swift",
"internal/Views/MediaPicker/MediaPicker+Coordinator.swift",
"internal/Views/MediaPicker/MediaPicker.swift",
"internal/Views/MediaPicker/MediaPickerValue.swift",
"internal/Views/Photo/PhotoView.swift",
"internal/Views/UniversalProgressView.swift",
"internal/Views/Video/AVPlayerView.swift",
"internal/Views/Video/VideoView.swift"
],
"target_dependencies" : [
"MediaCore"
],
"type" : "library"
},
{
"c99name" : "MediaCore",
"module_type" : "SwiftTarget",
"name" : "MediaCore",
"path" : "Sources/MediaCore",
"product_memberships" : [
"MediaCore",
"MediaSwiftUI"
],
"sources" : [
"API/Album/Album+Error.swift",
"API/Album/Album+Filter.swift",
"API/Album/Album+Identifier.swift",
"API/Album/Album+Metadata.swift",
"API/Album/Album+SortKey.swift",
"API/Album/Album.swift",
"API/Album/AlbumType.swift",
"API/Album/Albums.swift",
"API/Album/LazyAlbum.swift",
"API/Album/LazyAlbums.swift",
"API/Audio/Audio+FileType.swift",
"API/Audio/Audio+Metadata.swift",
"API/Audio/Audio+Subtype.swift",
"API/Audio/Audio.swift",
"API/Audio/Audios.swift",
"API/Audio/LazyAudios.swift",
"API/Capture/Extensions/AVCaptureDevice+devices.swift",
"API/Capture/Extensions/AVCaptureSession+add.swift",
"API/Capture/Photograph.swift",
"API/Extensions/AuthorizationStatus+PermissionError.swift",
"API/Extensions/CoreServices/CFString+MediaTypes.swift",
"API/Extensions/FileManager+directories.swift",
"API/Extensions/PhotoKit/Dictionary+PhotoKit.swift",
"API/Extensions/UIImagePickerController/UIImagePickerController+MediaType.swift",
"API/Extensions/UIImagePickerController/UIImagePickerController+availableSourceType.swift",
"API/Extensions/UIImagePickerController/UIImagePickerController+supportedMediaTypes.swift",
"API/LivePhoto/LazyLivePhotos.swift",
"API/LivePhoto/LivePhoto+FileType.swift",
"API/LivePhoto/LivePhoto+Metadata.swift",
"API/LivePhoto/LivePhoto+Subtype.swift",
"API/LivePhoto/LivePhoto.swift",
"API/LivePhoto/LivePhotos.swift",
"API/LivePhoto/PHLivePhotoProtocol.swift",
"API/Media/Media+DisplayRepresentation.swift",
"API/Media/Media+Error.swift",
"API/Media/Media+Identifier.swift",
"API/Media/Media+URL+Error.swift",
"API/Media/Media+URL.swift",
"API/Media/Media.swift",
"API/MediaCoreAliases.swift",
"API/Models/AnyMedia/AnyMedia+Equatable.swift",
"API/Models/AnyMedia/AnyMedia+Identifier+Equatable.swift",
"API/Models/AnyMedia/AnyMedia+Identifier.swift",
"API/Models/AnyMedia/AnyMedia.swift",
"API/Models/Capture/LivePhotoData.swift",
"API/Models/Errors/PermissionError.swift",
"API/Models/Media+Filter.swift",
"API/Models/Media+Quality.swift",
"API/Models/Media+Sort.swift",
"API/Models/Media+SortKey.swift",
"API/Models/PHAssetWrapper.swift",
"API/Models/UniversalImage.swift",
"API/Photo/Media+LazyPhotos.swift",
"API/Photo/Photo+Error.swift",
"API/Photo/Photo+FileType.swift",
"API/Photo/Photo+Metadata.swift",
"API/Photo/Photo+Properties.swift",
"API/Photo/Photo+Subtype.swift",
"API/Photo/Photo.swift",
"API/Photo/Photos.swift",
"API/PropertyWrappers/FetchAlbum.swift",
"API/PropertyWrappers/FetchAlbums.swift",
"API/PropertyWrappers/FetchAllAssets.swift",
"API/PropertyWrappers/FetchAsset.swift",
"API/PropertyWrappers/FetchAssets.swift",
"API/Protocols/AssetChangeRequest.swift",
"API/Protocols/MediaProtocol.swift",
"API/Protocols/MediaSubtypeProvider.swift",
"API/Protocols/PathExtensionsProvider.swift",
"API/Video/LazyVideos.swift",
"API/Video/Video+Error.swift",
"API/Video/Video+ExportOptions.swift",
"API/Video/Video+ExportProgress.swift",
"API/Video/Video+ExportQuality.swift",
"API/Video/Video+ExportQualityMac.swift",
"API/Video/Video+FileType.swift",
"API/Video/Video+Metadata.swift",
"API/Video/Video+Properties.swift",
"API/Video/Video+Subtype.swift",
"API/Video/Video.swift",
"API/Video/Videos.swift",
"internal/Capture/Extensions/AVCaptureDevice+Error.swift",
"internal/Capture/Extensions/AVCaptureSession+Error.swift",
"internal/Capture/PhotoCaptureProcessor.swift",
"internal/Capture/Protocols/CaptureProcessor.swift",
"internal/Capture/Protocols/CaptureProcessorDelegate.swift",
"internal/Capture/VideoRecorder.swift",
"internal/Extensions/OptionalString+compare.swift",
"internal/Extensions/PatternMatching/CustomPatternMatching.swift",
"internal/Extensions/PatternMatching/Pattern+mismatchs.swift",
"internal/Extensions/PatternMatching/Pattern+unsupportedPathExtension.swift",
"internal/Extensions/PhotoKit/PHAsset+anyMedia.swift",
"internal/Extensions/PhotoKit/PHAssetChangeRequest+AssetChangeRequest.swift",
"internal/Extensions/PhotoKit/PHFetchOptions.swift",
"internal/Extensions/PhotoKit/PHImageManager+ImageManager.swift",
"internal/Extensions/PhotoKit/PHImageManager+LivePhotoManager.swift",
"internal/Extensions/PhotoKit/PHImageManager+VideoManager.swift",
"internal/Extensions/PhotoKit/PHImageManager+handlePotentialDegradedResult.swift",
"internal/Extensions/PhotoKit/PHImageManager+handleResult.swift",
"internal/Extensions/PhotoKit/PHLivePhoto+PHLivePhotoProtocol.swift",
"internal/Extensions/PhotoKit/PHPhotoLibrary+PhotoLibrary.swift",
"internal/Extensions/UIImagePickerController/UIImagePickerController+MediaTypeError.swift",
"internal/Models/PHAssetCollectionWrapper.swift",
"internal/Models/Pattern.swift",
"internal/Protocols/AVAssetExportPresetProvider.swift",
"internal/Protocols/AnyMetadata.swift",
"internal/Protocols/ImageManager.swift",
"internal/Protocols/LivePhotoManager.swift",
"internal/Protocols/PhotoLibrary.swift",
"internal/Protocols/PhotoLibraryChangeObserver.swift",
"internal/Protocols/VideoManager.swift",
"internal/Services/AlbumFetcher.swift",
"internal/Services/CustomPhotoLibraryChangeObserver.swift",
"internal/Services/PHAssetChanger.swift",
"internal/Services/PHAssetFetcher.swift",
"internal/Services/PHChanger.swift",
"internal/TimerWrapper.swift"
],
"type" : "library"
}
],
"tools_version" : "5.3"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/chris-swift-dev/media/master
Repository: chris-swift-dev/Media
Swift version used: 6.0
Target: MediaCore
Extracting symbol information for 'MediaCore'...
Finished extracting symbol information for 'MediaCore'. (6.72s)
Building documentation for 'MediaCore'...
warning: Parameter 'url' not found in type method declaration
--> Sources/MediaCore/API/Photo/Photo.swift:254:11-254:45
252 | ///
253 | /// - Parameters:
254 + /// - url: the URL to the media object
| ╰─suggestion: Remove 'url' parameter documentation
255 | /// - completion: a closure which gets a `Result` (`Photo` on `success` or `Error` on `failure`)
256 | ///
warning: Parameter 'mediaURL' is missing documentation
--> Sources/MediaCore/API/Photo/Photo.swift:255:103-255:103
253 | /// - Parameters:
254 | /// - url: the URL to the media object
255 + /// - completion: a closure which gets a `Result` (`Photo` on `success` or `Error` on `failure`)
| ╰─suggestion: Document 'mediaURL' parameter
256 | ///
257 | @available(iOS 11, macOS 10.15, tvOS 11, *)
warning: Parameter 'fileType' not found in initializer declaration
--> Sources/MediaCore/API/Video/Video+ExportOptions.swift:28:15-28:76
26 | /// - Parameters:
27 | /// - url: a destination URL
28 + /// - fileType: specifies the `Video.FileType` at the given `URL`
| ╰─suggestion: Remove 'fileType' parameter documentation
29 | /// - quality: definies the desired quality for the export
30 | ///
warning: Parameter 'deliveryMode' is missing documentation
--> Sources/MediaCore/API/Video/Video+ExportOptions.swift:29:69-29:69
27 | /// - url: a destination URL
28 | /// - fileType: specifies the `Video.FileType` at the given `URL`
29 + /// - quality: definies the desired quality for the export
| ╰─suggestion: Document 'deliveryMode' parameter
30 | ///
31 | public init(url: Media.URL<Video>, quality: VideoExportQualityType, deliveryMode: PHVideoRequestOptionsDeliveryMode = .automatic) {
warning: Parameter 'deliveryMode' is missing documentation
--> Sources/MediaCore/API/Video/Video.swift:177:109-177:109
175 | /// Creates a `AVPlayerItem` representation of the receiver
176 | ///
177 + /// - Parameter completion: a closure which gets an `AVPlayerItem` on `success` and `Error` on `failure`
| ╰─suggestion: Document 'deliveryMode' parameter
178 | ///
179 | func playerItem(deliveryMode: PHVideoRequestOptionsDeliveryMode = .automatic, _ completion: @escaping ResultAVPlayerItemCompletion) {
warning: Parameter 'deliveryMode' is missing documentation
--> Sources/MediaCore/API/Video/Video.swift:196:104-196:104
194 | /// Creates a `AVAsset` representation of the receiver
195 | ///
196 + /// - Parameter completion: a closure which gets an `AVAsset` on `success` and `Error` on `failure`
| ╰─suggestion: Document 'deliveryMode' parameter
197 | ///
198 | func avAsset(deliveryMode: PHVideoRequestOptionsDeliveryMode = .automatic, _ completion: @escaping ResultAVAssetCompletion) {
warning: Parameter 'url' not found in type method declaration
--> Sources/MediaCore/API/Video/Video.swift:305:11-305:34
303 | ///
304 | /// - Parameters:
305 + /// - url: URL to the media
| ╰─suggestion: Remove 'url' parameter documentation
306 | /// - completion: a closure which gets `Video` on `success` and `Error` on `failure`
307 | ///
warning: Parameter 'mediaURL' is missing documentation
--> Sources/MediaCore/API/Video/Video.swift:306:91-306:91
304 | /// - Parameters:
305 | /// - url: URL to the media
306 + /// - completion: a closure which gets `Video` on `success` and `Error` on `failure`
| ╰─suggestion: Document 'mediaURL' parameter
307 | ///
308 | static func save(_ mediaURL: Media.URL<Self>, _ completion: @escaping ResultVideoCompletion) {Finished building documentation for 'MediaCore' (0.56s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/chris-swift-dev/media/master
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2050] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.25s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (0.54s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3314] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.14s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.57s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.3
Building for debugging...
[0/8] Write sources
[2/8] Write snippet-extract-tool-entitlement.plist
[4/8] Write swift-version-5BDAB9E9C0126B9D.txt
[6/53] Emitting module SymbolKit
[7/57] Compiling SymbolKit Mixin+Equals.swift
[8/57] Compiling SymbolKit Mixin+Hash.swift
[9/57] Compiling SymbolKit Mixin.swift
[10/57] Compiling SymbolKit LineList.swift
[11/57] Compiling SymbolKit Position.swift
[12/57] Compiling Snippets SnippetParser.swift
[13/57] Emitting module Snippets
[14/57] Compiling Snippets Snippet.swift
[15/57] Compiling SymbolKit DeclarationFragments.swift
[16/57] Compiling SymbolKit Fragment.swift
[17/57] Compiling SymbolKit FragmentKind.swift
[18/57] Compiling SymbolKit FunctionParameter.swift
[19/57] Compiling SymbolKit FunctionSignature.swift
[20/57] Compiling SymbolKit SemanticVersion.swift
[21/57] Compiling SymbolKit AccessControl.swift
[22/57] Compiling SymbolKit Availability.swift
[23/57] Compiling SymbolKit AvailabilityItem.swift
[24/57] Compiling SymbolKit Domain.swift
[25/57] Compiling SymbolKit GenericConstraint.swift
[26/57] Compiling SymbolKit GenericParameter.swift
[27/57] Compiling SymbolKit Generics.swift
[28/57] Compiling SymbolKit Namespace.swift
[29/57] Compiling SymbolKit Names.swift
[30/57] Compiling SymbolKit SPI.swift
[31/57] Compiling SymbolKit Snippet.swift
[32/57] Compiling SymbolKit Extension.swift
[33/57] Compiling SymbolKit Symbol.swift
[34/57] Compiling SymbolKit SymbolKind.swift
[35/57] Compiling SymbolKit SymbolGraph.swift
[36/57] Compiling SymbolKit GraphCollector.swift
[37/57] Compiling SymbolKit SourceRange.swift
[38/57] Compiling SymbolKit Metadata.swift
[39/57] Compiling SymbolKit Module.swift
[40/57] Compiling SymbolKit OperatingSystem.swift
[41/57] Compiling SymbolKit Platform.swift
[42/57] Compiling SymbolKit Identifier.swift
[43/57] Compiling SymbolKit KindIdentifier.swift
[44/57] Compiling SymbolKit Location.swift
[45/57] Compiling SymbolKit Mutability.swift
[46/57] Compiling SymbolKit Relationship.swift
[47/57] Compiling SymbolKit RelationshipKind.swift
[48/57] Compiling SymbolKit SourceOrigin.swift
[49/57] Compiling SymbolKit GenericConstraints.swift
[50/57] Compiling SymbolKit Swift.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Emitting module snippet_extract
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.84s)
Building for debugging...
[0/1] Write swift-version-5BDAB9E9C0126B9D.txt
[2/108] Compiling MediaCore PHImageManager+LivePhotoManager.swift
[3/108] Compiling MediaCore PHImageManager+VideoManager.swift
[4/108] Compiling MediaCore PHImageManager+handlePotentialDegradedResult.swift
[5/108] Compiling MediaCore PHImageManager+handleResult.swift
[6/108] Compiling MediaCore PHLivePhoto+PHLivePhotoProtocol.swift
[7/108] Compiling MediaCore PHPhotoLibrary+PhotoLibrary.swift
[8/108] Compiling MediaCore UIImagePickerController+MediaTypeError.swift
[9/108] Compiling MediaCore PHAssetCollectionWrapper.swift
[10/108] Compiling MediaCore Pattern.swift
[11/108] Compiling MediaCore AVAssetExportPresetProvider.swift
[12/108] Compiling MediaCore AnyMetadata.swift
[13/119] Emitting module MediaCore
[14/119] Compiling MediaCore UIImagePickerController+availableSourceType.swift
[15/119] Compiling MediaCore UIImagePickerController+supportedMediaTypes.swift
[16/119] Compiling MediaCore LazyLivePhotos.swift
[17/119] Compiling MediaCore LivePhoto+FileType.swift
[18/119] Compiling MediaCore LivePhoto+Metadata.swift
[19/119] Compiling MediaCore LivePhoto+Subtype.swift
[20/119] Compiling MediaCore LivePhoto.swift
[21/119] Compiling MediaCore LivePhotos.swift
[22/119] Compiling MediaCore PHLivePhotoProtocol.swift
[23/119] Compiling MediaCore Media+DisplayRepresentation.swift
[24/119] Compiling MediaCore Media+Error.swift
[25/119] Compiling MediaCore Media+Identifier.swift
[26/119] Compiling MediaCore Audio+Subtype.swift
[27/119] Compiling MediaCore Audio.swift
[28/119] Compiling MediaCore Audios.swift
[29/119] Compiling MediaCore LazyAudios.swift
[30/119] Compiling MediaCore AVCaptureDevice+devices.swift
[31/119] Compiling MediaCore AVCaptureSession+add.swift
[32/119] Compiling MediaCore Photograph.swift
[33/119] Compiling MediaCore AuthorizationStatus+PermissionError.swift
[34/119] Compiling MediaCore CFString+MediaTypes.swift
[35/119] Compiling MediaCore FileManager+directories.swift
[36/119] Compiling MediaCore Dictionary+PhotoKit.swift
[37/119] Compiling MediaCore UIImagePickerController+MediaType.swift
[38/119] Compiling MediaCore FetchAlbum.swift
[39/119] Compiling MediaCore FetchAlbums.swift
[40/119] Compiling MediaCore FetchAllAssets.swift
[41/119] Compiling MediaCore FetchAsset.swift
[42/119] Compiling MediaCore FetchAssets.swift
[43/119] Compiling MediaCore AssetChangeRequest.swift
[44/119] Compiling MediaCore MediaProtocol.swift
[45/119] Compiling MediaCore MediaSubtypeProvider.swift
[46/119] Compiling MediaCore PathExtensionsProvider.swift
[47/119] Compiling MediaCore LazyVideos.swift
[48/119] Compiling MediaCore Video+Error.swift
[49/119] Compiling MediaCore Video+ExportOptions.swift
[50/119] Compiling MediaCore Media+URL+Error.swift
[51/119] Compiling MediaCore Media+URL.swift
[52/119] Compiling MediaCore Media.swift
[53/119] Compiling MediaCore MediaCoreAliases.swift
[54/119] Compiling MediaCore AnyMedia+Equatable.swift
[55/119] Compiling MediaCore AnyMedia+Identifier+Equatable.swift
[56/119] Compiling MediaCore AnyMedia+Identifier.swift
[57/119] Compiling MediaCore AnyMedia.swift
[58/119] Compiling MediaCore LivePhotoData.swift
[59/119] Compiling MediaCore PermissionError.swift
[60/119] Compiling MediaCore Media+Filter.swift
[61/119] Compiling MediaCore Media+Quality.swift
[62/119] Compiling MediaCore CaptureProcessor.swift
[63/119] Compiling MediaCore CaptureProcessorDelegate.swift
[64/119] Compiling MediaCore VideoRecorder.swift
[65/119] Compiling MediaCore OptionalString+compare.swift
[66/119] Compiling MediaCore CustomPatternMatching.swift
[67/119] Compiling MediaCore Pattern+mismatchs.swift
[68/119] Compiling MediaCore Pattern+unsupportedPathExtension.swift
[69/119] Compiling MediaCore PHAsset+anyMedia.swift
[70/119] Compiling MediaCore PHAssetChangeRequest+AssetChangeRequest.swift
[71/119] Compiling MediaCore PHFetchOptions.swift
[72/119] Compiling MediaCore PHImageManager+ImageManager.swift
[73/119] Compiling MediaCore Media+Sort.swift
[74/119] Compiling MediaCore Media+SortKey.swift
[75/119] Compiling MediaCore PHAssetWrapper.swift
[76/119] Compiling MediaCore UniversalImage.swift
[77/119] Compiling MediaCore Media+LazyPhotos.swift
[78/119] Compiling MediaCore Photo+Error.swift
[79/119] Compiling MediaCore Photo+FileType.swift
[80/119] Compiling MediaCore Photo+Metadata.swift
[81/119] Compiling MediaCore Photo+Properties.swift
[82/119] Compiling MediaCore Photo+Subtype.swift
[83/119] Compiling MediaCore Photo.swift
[84/119] Compiling MediaCore Photos.swift
[85/119] Compiling MediaCore Album+Error.swift
[86/119] Compiling MediaCore Album+Filter.swift
[87/119] Compiling MediaCore Album+Identifier.swift
[88/119] Compiling MediaCore Album+Metadata.swift
[89/119] Compiling MediaCore Album+SortKey.swift
[90/119] Compiling MediaCore Album.swift
[91/119] Compiling MediaCore AlbumType.swift
[92/119] Compiling MediaCore Albums.swift
[93/119] Compiling MediaCore LazyAlbum.swift
[94/119] Compiling MediaCore LazyAlbums.swift
[95/119] Compiling MediaCore Audio+FileType.swift
[96/119] Compiling MediaCore Audio+Metadata.swift
[97/119] Compiling MediaCore Video+ExportProgress.swift
[98/119] Compiling MediaCore Video+ExportQuality.swift
[99/119] Compiling MediaCore Video+ExportQualityMac.swift
[100/119] Compiling MediaCore Video+FileType.swift
[101/119] Compiling MediaCore Video+Metadata.swift
[102/119] Compiling MediaCore Video+Properties.swift
[103/119] Compiling MediaCore Video+Subtype.swift
[104/119] Compiling MediaCore Video.swift
[105/119] Compiling MediaCore Videos.swift
[106/119] Compiling MediaCore AVCaptureDevice+Error.swift
[107/119] Compiling MediaCore AVCaptureSession+Error.swift
[108/119] Compiling MediaCore PhotoCaptureProcessor.swift
[109/119] Compiling MediaCore ImageManager.swift
[110/119] Compiling MediaCore LivePhotoManager.swift
[111/119] Compiling MediaCore PhotoLibrary.swift
[112/119] Compiling MediaCore PhotoLibraryChangeObserver.swift
[113/119] Compiling MediaCore VideoManager.swift
[114/119] Compiling MediaCore AlbumFetcher.swift
[115/119] Compiling MediaCore CustomPhotoLibraryChangeObserver.swift
[116/119] Compiling MediaCore PHAssetChanger.swift
[117/119] Compiling MediaCore PHAssetFetcher.swift
[118/119] Compiling MediaCore PHChanger.swift
[119/119] Compiling MediaCore TimerWrapper.swift
Build of target: 'MediaCore' complete! (1.84s)
Target: MediaSwiftUI
Extracting symbol information for 'MediaSwiftUI'...
Finished extracting symbol information for 'MediaSwiftUI'. (1.91s)
Building documentation for 'MediaSwiftUI'...
Finished building documentation for 'MediaSwiftUI' (0.05s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/chris-swift-dev/media/master
Building for debugging...
[0/3] Write swift-version-5BDAB9E9C0126B9D.txt
Build of product 'snippet-extract' complete! (0.19s)
Building for debugging...
[0/1] Write swift-version-5BDAB9E9C0126B9D.txt
[2/35] Emitting module MediaSwiftUI
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:16:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
14 |
15 | #if !os(tvOS)
16 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
17 | public extension Photo {
18 | typealias ResultPhotoCameraResultCompletion = (Result<Camera.Result, Swift.Error>) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:151:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
149 | #endif
150 |
151 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
152 | public extension Photo {
153 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:14:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
12 | import SwiftUI
13 |
14 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
15 | public extension Video {
16 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:24:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
22 |
23 | #if !os(tvOS)
24 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
25 | public extension Video {
26 | /// Alias for a completion block getting a `Result` containing a `<Media.URL<Video>`
[3/38] Compiling MediaSwiftUI Camera+Error.swift
[4/38] Compiling MediaSwiftUI Camera+Result.swift
[5/38] Compiling MediaSwiftUI Camera.swift
[6/38] Compiling MediaSwiftUI LivePhoto+SwiftUI.swift
[7/38] Compiling MediaSwiftUI ActivityIndicatorView.swift
[8/38] Compiling MediaSwiftUI LivePhotoView.swift
[9/38] Compiling MediaSwiftUI MediaPicker+Coordinator.swift
[10/38] Compiling MediaSwiftUI VideoPreview.swift
[11/38] Compiling MediaSwiftUI Garbage.swift
[12/38] Compiling MediaSwiftUI ReferenceWrapper.swift
[13/38] Compiling MediaSwiftUI ViewState.swift
[14/38] Compiling MediaSwiftUI Video+SwiftUI.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:14:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
12 | import SwiftUI
13 |
14 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
15 | public extension Video {
16 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:24:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
22 |
23 | #if !os(tvOS)
24 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
25 | public extension Video {
26 | /// Alias for a completion block getting a `Result` containing a `<Media.URL<Video>`
[15/38] Compiling MediaSwiftUI CameraViewCreator.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:14:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
12 | import SwiftUI
13 |
14 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
15 | public extension Video {
16 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:24:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
22 |
23 | #if !os(tvOS)
24 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
25 | public extension Video {
26 | /// Alias for a completion block getting a `Result` containing a `<Media.URL<Video>`
[16/38] Compiling MediaSwiftUI AVCaptureVideoPreview.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:14:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
12 | import SwiftUI
13 |
14 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
15 | public extension Video {
16 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:24:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
22 |
23 | #if !os(tvOS)
24 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
25 | public extension Video {
26 | /// Alias for a completion block getting a `Result` containing a `<Media.URL<Video>`
[17/38] Compiling MediaSwiftUI CameraView.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:14:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
12 | import SwiftUI
13 |
14 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
15 | public extension Video {
16 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Video/Video+SwiftUI.swift:24:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
22 |
23 | #if !os(tvOS)
24 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
25 | public extension Video {
26 | /// Alias for a completion block getting a `Result` containing a `<Media.URL<Video>`
[18/38] Compiling MediaSwiftUI MediaPicker.swift
[19/38] Compiling MediaSwiftUI MediaPickerValue.swift
[20/38] Compiling MediaSwiftUI PhotoView.swift
[21/38] Compiling MediaSwiftUI NSItemProvider+loadVideo.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:16:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
14 |
15 | #if !os(tvOS)
16 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
17 | public extension Photo {
18 | typealias ResultPhotoCameraResultCompletion = (Result<Camera.Result, Swift.Error>) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:151:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
149 | #endif
150 |
151 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
152 | public extension Photo {
153 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
[22/38] Compiling MediaSwiftUI PHPicker.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:16:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
14 |
15 | #if !os(tvOS)
16 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
17 | public extension Photo {
18 | typealias ResultPhotoCameraResultCompletion = (Result<Camera.Result, Swift.Error>) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:151:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
149 | #endif
150 |
151 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
152 | public extension Photo {
153 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
[23/38] Compiling MediaSwiftUI Photo+Camera+Result.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:16:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
14 |
15 | #if !os(tvOS)
16 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
17 | public extension Photo {
18 | typealias ResultPhotoCameraResultCompletion = (Result<Camera.Result, Swift.Error>) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:151:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
149 | #endif
150 |
151 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
152 | public extension Photo {
153 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
[24/38] Compiling MediaSwiftUI Photo+SwiftUI.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:16:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
14 |
15 | #if !os(tvOS)
16 | @available (iOS 13, macOS 10.15, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
17 | public extension Photo {
18 | typealias ResultPhotoCameraResultCompletion = (Result<Camera.Result, Swift.Error>) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/Photo/Photo+SwiftUI.swift:151:2: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
149 | #endif
150 |
151 | @available (iOS 13, macOS 10.15, tvOS 13, *)
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
152 | public extension Photo {
153 | /// Creates a ready-to-use `SwiftUI` view representation of the receiver
[25/38] Compiling MediaSwiftUI ViewWrapper.swift
[26/38] Compiling MediaSwiftUI WeakObjectWrapper.swift
[27/38] Compiling MediaSwiftUI ViewCreator.swift
[28/38] Compiling MediaSwiftUI MediaPicker+Error.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:18:47: warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
16 | public func loadLivePhoto() -> AnyPublisher<PHLivePhoto, Swift.Error> {
17 | Future { promise in
18 | guard self.canLoadObject(ofClass: PHLivePhoto.self) else {
| `- warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
19 | promise(.failure(Error.couldNotLoadObject(underlying: Error.unknown)))
20 | return
Photos.PHLivePhoto:2:11: note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | extension PHLivePhoto : NSItemProviderReading {
| `- note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
3 | @available(macOS 10.13, *)
4 | open class var readableTypeIdentifiersForItemProvider: [String] { get }
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:23:38: warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
21 | }
22 |
23 | self.loadObject(ofClass: PHLivePhoto.self) { livePhoto, error in
| `- warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
24 | if let error = error {
25 | promise(.failure(Error.couldNotLoadObject(underlying: error)))
Photos.PHLivePhoto:2:11: note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | extension PHLivePhoto : NSItemProviderReading {
| `- note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
3 | @available(macOS 10.13, *)
4 | open class var readableTypeIdentifiersForItemProvider: [String] { get }
[29/38] Compiling MediaSwiftUI NSItemProvider+Error.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:18:47: warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
16 | public func loadLivePhoto() -> AnyPublisher<PHLivePhoto, Swift.Error> {
17 | Future { promise in
18 | guard self.canLoadObject(ofClass: PHLivePhoto.self) else {
| `- warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
19 | promise(.failure(Error.couldNotLoadObject(underlying: Error.unknown)))
20 | return
Photos.PHLivePhoto:2:11: note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | extension PHLivePhoto : NSItemProviderReading {
| `- note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
3 | @available(macOS 10.13, *)
4 | open class var readableTypeIdentifiersForItemProvider: [String] { get }
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:23:38: warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
21 | }
22 |
23 | self.loadObject(ofClass: PHLivePhoto.self) { livePhoto, error in
| `- warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
24 | if let error = error {
25 | promise(.failure(Error.couldNotLoadObject(underlying: error)))
Photos.PHLivePhoto:2:11: note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | extension PHLivePhoto : NSItemProviderReading {
| `- note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
3 | @available(macOS 10.13, *)
4 | open class var readableTypeIdentifiersForItemProvider: [String] { get }
[30/38] Compiling MediaSwiftUI NSItemProvider+loadImage.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:18:47: warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
16 | public func loadLivePhoto() -> AnyPublisher<PHLivePhoto, Swift.Error> {
17 | Future { promise in
18 | guard self.canLoadObject(ofClass: PHLivePhoto.self) else {
| `- warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
19 | promise(.failure(Error.couldNotLoadObject(underlying: Error.unknown)))
20 | return
Photos.PHLivePhoto:2:11: note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | extension PHLivePhoto : NSItemProviderReading {
| `- note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
3 | @available(macOS 10.13, *)
4 | open class var readableTypeIdentifiersForItemProvider: [String] { get }
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:23:38: warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
21 | }
22 |
23 | self.loadObject(ofClass: PHLivePhoto.self) { livePhoto, error in
| `- warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
24 | if let error = error {
25 | promise(.failure(Error.couldNotLoadObject(underlying: error)))
Photos.PHLivePhoto:2:11: note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | extension PHLivePhoto : NSItemProviderReading {
| `- note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
3 | @available(macOS 10.13, *)
4 | open class var readableTypeIdentifiersForItemProvider: [String] { get }
[31/38] Compiling MediaSwiftUI NSItemProvider+loadLivePhoto.swift
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:18:47: warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
16 | public func loadLivePhoto() -> AnyPublisher<PHLivePhoto, Swift.Error> {
17 | Future { promise in
18 | guard self.canLoadObject(ofClass: PHLivePhoto.self) else {
| `- warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
19 | promise(.failure(Error.couldNotLoadObject(underlying: Error.unknown)))
20 | return
Photos.PHLivePhoto:2:11: note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | extension PHLivePhoto : NSItemProviderReading {
| `- note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
3 | @available(macOS 10.13, *)
4 | open class var readableTypeIdentifiersForItemProvider: [String] { get }
/Users/admin/builder/spi-builder-workspace/Sources/MediaSwiftUI/API/PHPicker/NSItemProvider+loadLivePhoto.swift:23:38: warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
21 | }
22 |
23 | self.loadObject(ofClass: PHLivePhoto.self) { livePhoto, error in
| `- warning: conformance of 'PHLivePhoto' to 'NSItemProviderReading' is unavailable in macOS; this is an error in the Swift 6 language mode
24 | if let error = error {
25 | promise(.failure(Error.couldNotLoadObject(underlying: error)))
Photos.PHLivePhoto:2:11: note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | extension PHLivePhoto : NSItemProviderReading {
| `- note: conformance of 'PHLivePhoto' to 'NSItemProviderReading' has been explicitly marked unavailable here
3 | @available(macOS 10.13, *)
4 | open class var readableTypeIdentifiersForItemProvider: [String] { get }
[32/38] Compiling MediaSwiftUI PhotosUILivePhotoView.swift
[33/38] Compiling MediaSwiftUI Media+SwiftUI.swift
[34/38] Compiling MediaSwiftUI MediaSwiftUIAliases.swift
[35/38] Compiling MediaSwiftUI BrowserResult.swift
[36/38] Compiling MediaSwiftUI UniversalProgressView.swift
[37/38] Compiling MediaSwiftUI AVPlayerView.swift
[38/38] Compiling MediaSwiftUI VideoView.swift
Build of target: 'MediaSwiftUI' complete! (1.22s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/chris-swift-dev/media/master/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/chris-swift-dev/media/master/linkable-paths.json
1228
7 /Users/admin/builder/spi-builder-workspace/.docs/chris-swift-dev/media/master
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/chris-swift-dev/media/master
File count: 1228
Doc size: 7.0MB
Preparing doc bundle ...
Uploading prod-chris-swift-dev-media-master-98cb432c.zip to s3://spi-docs-inbox/prod-chris-swift-dev-media-master-98cb432c.zip
Copying... [12%]
Copying... [24%]
Copying... [31%]
Copying... [43%]
Copying... [51%]
Copying... [63%]
Copying... [71%]
Copying... [82%]
Copying... [90%]
Copying... [100%]
Done.