The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Failed to build FDSoundActivatedRecorder, reference 4.0.0 (997c7b), with Swift 6.0 for macOS (SPM) on 26 Jul 2025 00:48:33 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/fulldecent/FDSoundActivatedRecorder.git
Reference: 4.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/fulldecent/FDSoundActivatedRecorder
 * tag               4.0.0      -> FETCH_HEAD
HEAD is now at 997c7b6 Use Swift concurrency
Cloned https://github.com/fulldecent/FDSoundActivatedRecorder.git
Revision (git rev-parse @):
997c7b6de74782ee478676b2bf9c2706438cb82c
SUCCESS checkout https://github.com/fulldecent/FDSoundActivatedRecorder.git at 4.0.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/fulldecent/FDSoundActivatedRecorder.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-5BDAB9E9C0126B9D.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/4] Emitting module FDSoundActivatedRecorder
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:159:30: error: 'Task' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
157 |     private let recordedURL: URL
158 |     private var recorder: AVAudioRecorder?
159 |     private var monitorTask: Task<Void, Never>?
    |                              `- error: 'Task' is only available in macOS 10.15 or newer
160 |
161 |     private var triggerLevel: Float?
[4/4] Compiling FDSoundActivatedRecorder FDSoundActivatedRecorder.swift
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:159:30: error: 'Task' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
157 |     private let recordedURL: URL
158 |     private var recorder: AVAudioRecorder?
159 |     private var monitorTask: Task<Void, Never>?
    |                              `- error: 'Task' is only available in macOS 10.15 or newer
160 |
161 |     private var triggerLevel: Float?
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:127:22: error: 'cancel()' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
125 |
126 |     deinit {
127 |         monitorTask?.cancel()
    |                      |- error: 'cancel()' is only available in macOS 10.15 or newer
    |                      `- note: add 'if #available' version check
128 |         recorder?.stop()
129 |         try? FileManager.default.removeItem(at: scratchDir)
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:134:22: error: 'cancel()' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
131 |
132 |     /// Begin listening; capture will start automatically when the rise‑trigger is met.
133 |     public func startListening() {
    |                 `- note: add @available attribute to enclosing instance method
134 |         monitorTask?.cancel()
    |                      |- error: 'cancel()' is only available in macOS 10.15 or newer
    |                      `- note: add 'if #available' version check
135 |         status = .listening
136 |         prepareSession()
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:148:22: error: 'cancel()' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
145 |
146 |     /// Cancel everything immediately and clean up.
147 |     public func abort() {
    |                 `- note: add @available attribute to enclosing instance method
148 |         monitorTask?.cancel()
    |                      |- error: 'cancel()' is only available in macOS 10.15 or newer
    |                      `- note: add 'if #available' version check
149 |         recorder?.stop()
150 |         status = .inactive
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:151:9: error: 'Task' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
145 |
146 |     /// Cancel everything immediately and clean up.
147 |     public func abort() {
    |                 `- note: add @available attribute to enclosing instance method
148 |         monitorTask?.cancel()
149 |         recorder?.stop()
150 |         status = .inactive
151 |         Task { @MainActor in delegate?.recorderDidAbort(self) }
    |         |- error: 'Task' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
152 |     }
153 |
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:151:9: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
145 |
146 |     /// Cancel everything immediately and clean up.
147 |     public func abort() {
    |                 `- note: add @available attribute to enclosing instance method
148 |         monitorTask?.cancel()
149 |         recorder?.stop()
150 |         status = .inactive
151 |         Task { @MainActor in delegate?.recorderDidAbort(self) }
    |         |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
152 |     }
153 |
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:170:17: error: 'AVAudioSession' is unavailable in macOS
168 |
169 |     private func prepareSession() {
170 |         let s = AVAudioSession.sharedInstance()
    |                 `- error: 'AVAudioSession' is unavailable in macOS
171 |         try? s.setCategory(.playAndRecord, mode: .default, options: [.defaultToSpeaker])
172 |         try? s.setActive(true)
AVFAudio.AVAudioSession:2:12: note: 'AVAudioSession' has been explicitly marked unavailable here
 1 | @available(macOS, unavailable)
 2 | open class AVAudioSession : NSObject, @unchecked Sendable {
   |            `- note: 'AVAudioSession' has been explicitly marked unavailable here
 3 |     @available(macOS, unavailable)
 4 |     open class func sharedInstance() -> AVAudioSession
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:170:32: error: 'sharedInstance()' is unavailable in macOS
168 |
169 |     private func prepareSession() {
170 |         let s = AVAudioSession.sharedInstance()
    |                                `- error: 'sharedInstance()' is unavailable in macOS
171 |         try? s.setCategory(.playAndRecord, mode: .default, options: [.defaultToSpeaker])
172 |         try? s.setActive(true)
AVFAudio.AVAudioSession:4:21: note: 'sharedInstance()' has been explicitly marked unavailable here
 2 | open class AVAudioSession : NSObject, @unchecked Sendable {
 3 |     @available(macOS, unavailable)
 4 |     open class func sharedInstance() -> AVAudioSession
   |                     `- note: 'sharedInstance()' has been explicitly marked unavailable here
 5 |     @available(macOS, unavailable)
 6 |     open var availableCategories: [AVAudioSession.Category] { get }
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:171:16: error: 'setCategory(_:mode:options:)' is unavailable in macOS
169 |     private func prepareSession() {
170 |         let s = AVAudioSession.sharedInstance()
171 |         try? s.setCategory(.playAndRecord, mode: .default, options: [.defaultToSpeaker])
    |                `- error: 'setCategory(_:mode:options:)' is unavailable in macOS
172 |         try? s.setActive(true)
173 |     }
AVFAudio.AVAudioSession:18:15: note: 'setCategory(_:mode:options:)' has been explicitly marked unavailable here
16 |     open func setCategory(_ category: AVAudioSession.Category, withOptions options: AVAudioSession.CategoryOptions = []) throws
17 |     @available(macOS, unavailable)
18 |     open func setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, options: AVAudioSession.CategoryOptions = []) throws
   |               `- note: 'setCategory(_:mode:options:)' has been explicitly marked unavailable here
19 |     @available(macOS, unavailable)
20 |     open func setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions = []) throws
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:171:29: error: 'playAndRecord' is unavailable in macOS
169 |     private func prepareSession() {
170 |         let s = AVAudioSession.sharedInstance()
171 |         try? s.setCategory(.playAndRecord, mode: .default, options: [.defaultToSpeaker])
    |                             `- error: 'playAndRecord' is unavailable in macOS
172 |         try? s.setActive(true)
173 |     }
AVFAudio.AVAudioSession.Category:11:23: note: 'playAndRecord' has been explicitly marked unavailable here
 9 |     public static let record: AVAudioSession.Category
10 |     @available(macOS, unavailable)
11 |     public static let playAndRecord: AVAudioSession.Category
   |                       `- note: 'playAndRecord' has been explicitly marked unavailable here
12 |     @available(macOS, unavailable)
13 |     public static let audioProcessing: AVAudioSession.Category
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:171:51: error: 'default' is unavailable in macOS
169 |     private func prepareSession() {
170 |         let s = AVAudioSession.sharedInstance()
171 |         try? s.setCategory(.playAndRecord, mode: .default, options: [.defaultToSpeaker])
    |                                                   `- error: 'default' is unavailable in macOS
172 |         try? s.setActive(true)
173 |     }
AVFAudio.AVAudioSession.Mode:3:23: note: 'default' has been explicitly marked unavailable here
 1 | extension AVAudioSession.Mode {
 2 |     @available(macOS, unavailable)
 3 |     public static let `default`: AVAudioSession.Mode
   |                       `- note: 'default' has been explicitly marked unavailable here
 4 |     @available(macOS, unavailable)
 5 |     public static let voiceChat: AVAudioSession.Mode
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:171:71: error: 'defaultToSpeaker' is unavailable in macOS
169 |     private func prepareSession() {
170 |         let s = AVAudioSession.sharedInstance()
171 |         try? s.setCategory(.playAndRecord, mode: .default, options: [.defaultToSpeaker])
    |                                                                       `- error: 'defaultToSpeaker' is unavailable in macOS
172 |         try? s.setActive(true)
173 |     }
AVFAudio.AVAudioSession:77:27: note: 'defaultToSpeaker' has been explicitly marked unavailable here
 75 |         public static var AllowBluetooth: AVAudioSession.CategoryOptions { get }
 76 |         @available(macOS, unavailable)
 77 |         public static var defaultToSpeaker: AVAudioSession.CategoryOptions { get }
    |                           `- note: 'defaultToSpeaker' has been explicitly marked unavailable here
 78 |         @available(macOS, unavailable)
 79 |         @available(swift, obsoleted: 3, renamed: "defaultToSpeaker")
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:172:16: error: 'setActive' is unavailable in Swift
170 |         let s = AVAudioSession.sharedInstance()
171 |         try? s.setCategory(.playAndRecord, mode: .default, options: [.defaultToSpeaker])
172 |         try? s.setActive(true)
    |                `- error: 'setActive' is unavailable in Swift
173 |     }
174 |
AVFAudio.AVAudioSession:4:15: note: 'setActive' has been explicitly marked unavailable here
 2 |     @available(macOS, unavailable)
 3 |     @available(*, unavailable, message: "Not available in Swift")
 4 |     open func setActive(_ active: Bool) throws
   |               `- note: 'setActive' has been explicitly marked unavailable here
 5 |     @available(macOS, unavailable)
 6 |     open func setActive(_ active: Bool, options: AVAudioSession.SetActiveOptions = []) throws
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:178:23: error: 'Task' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
173 |     }
174 |
175 |     private func startMonitorLoop() {
    |                  `- note: add @available attribute to enclosing instance method
176 |         let millis = Int(config.intervalSeconds * 1_000)
177 |
178 |         monitorTask = Task {
    |                       |- error: 'Task' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
179 |             while true {
180 |                 try? await Task.sleep(for: .milliseconds(millis))
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:178:23: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
173 |     }
174 |
175 |     private func startMonitorLoop() {
    |                  `- note: add @available attribute to enclosing instance method
176 |         let millis = Int(config.intervalSeconds * 1_000)
177 |
178 |         monitorTask = Task {
    |                       |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
179 |             while true {
180 |                 try? await Task.sleep(for: .milliseconds(millis))
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:180:28: error: 'Task' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
173 |     }
174 |
175 |     private func startMonitorLoop() {
    |                  `- note: add @available attribute to enclosing instance method
176 |         let millis = Int(config.intervalSeconds * 1_000)
177 |
178 |         monitorTask = Task {
179 |             while true {
180 |                 try? await Task.sleep(for: .milliseconds(millis))
    |                            |- error: 'Task' is only available in macOS 10.15 or newer
    |                            `- note: add 'if #available' version check
181 |                 guard let recorder = await self.recorder else { continue }
182 |
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:180:33: error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
173 |     }
174 |
175 |     private func startMonitorLoop() {
    |                  `- note: add @available attribute to enclosing instance method
176 |         let millis = Int(config.intervalSeconds * 1_000)
177 |
178 |         monitorTask = Task {
179 |             while true {
180 |                 try? await Task.sleep(for: .milliseconds(millis))
    |                                 |- error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
    |                                 `- note: add 'if #available' version check
181 |                 guard let recorder = await self.recorder else { continue }
182 |
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:180:45: error: 'milliseconds' is only available in macOS 13.0 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
173 |     }
174 |
175 |     private func startMonitorLoop() {
    |                  `- note: add @available attribute to enclosing instance method
176 |         let millis = Int(config.intervalSeconds * 1_000)
177 |
178 |         monitorTask = Task {
179 |             while true {
180 |                 try? await Task.sleep(for: .milliseconds(millis))
    |                                             |- error: 'milliseconds' is only available in macOS 13.0 or newer
    |                                             `- note: add 'if #available' version check
181 |                 guard let recorder = await self.recorder else { continue }
182 |
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:181:38: warning: no 'async' operations occur within 'await' expression
179 |             while true {
180 |                 try? await Task.sleep(for: .milliseconds(millis))
181 |                 guard let recorder = await self.recorder else { continue }
    |                                      `- warning: no 'async' operations occur within 'await' expression
182 |
183 |                 await recorder.updateMeters()
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:183:17: warning: no 'async' operations occur within 'await' expression
181 |                 guard let recorder = await self.recorder else { continue }
182 |
183 |                 await recorder.updateMeters()
    |                 `- warning: no 'async' operations occur within 'await' expression
184 |
185 |                 // Timed‑out while listening and never started saving
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:187:24: warning: no 'async' operations occur within 'await' expression
185 |                 // Timed‑out while listening and never started saving
186 |                 if !recorder.isRecording {
187 |                     if await self.status == .listening {
    |                        `- warning: no 'async' operations occur within 'await' expression
188 |                         await self.finishByTimeout()
189 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:207:15: error: 'MainActor' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
199 |     // MARK: – Interval processing --------------------------------------------
200 |
201 |     private func handleInterval(_ rawLevel: Float) async {
    |                  `- note: add @available attribute to enclosing instance method
202 |         // Convert dB (negative) to 0…1 scale for the delegate
203 |         let scaled = scale(rawLevel)
    :
205 |         let averagingCount = averaging.count
206 |
207 |         await MainActor.run {
    |               |- error: 'MainActor' is only available in macOS 10.15 or newer
    |               `- note: add 'if #available' version check
208 |             delegate?.recorder(
209 |                 self,
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:207:25: error: 'run(resultType:body:)' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
199 |     // MARK: – Interval processing --------------------------------------------
200 |
201 |     private func handleInterval(_ rawLevel: Float) async {
    |                  `- note: add @available attribute to enclosing instance method
202 |         // Convert dB (negative) to 0…1 scale for the delegate
203 |         let scaled = scale(rawLevel)
    :
205 |         let averagingCount = averaging.count
206 |
207 |         await MainActor.run {
    |                         |- error: 'run(resultType:body:)' is only available in macOS 10.15 or newer
    |                         `- note: add 'if #available' version check
208 |             delegate?.recorder(
209 |                 self,
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:261:9: error: 'Task' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
255 |
256 |     /// Transition from listening → saving
257 |     private func startSaving() {
    |                  `- note: add @available attribute to enclosing instance method
258 |         guard status == .listening else { return }
259 |
260 |         status = .saving
261 |         Task { @MainActor in delegate?.recorderDidStartSaving(self) }
    |         |- error: 'Task' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
262 |
263 |         let offset   = Double(config.riseTriggerIntervals) * config.intervalSeconds
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:261:9: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
255 |
256 |     /// Transition from listening → saving
257 |     private func startSaving() {
    |                  `- note: add @available attribute to enclosing instance method
258 |         guard status == .listening else { return }
259 |
260 |         status = .saving
261 |         Task { @MainActor in delegate?.recorderDidStartSaving(self) }
    |         |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
262 |
263 |         let offset   = Double(config.riseTriggerIntervals) * config.intervalSeconds
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:279:22: error: 'cancel()' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
274 |
275 |     /// Transition from saving → finished (file export still pending)
276 |     private func stopSaving() {
    |                  `- note: add @available attribute to enclosing instance method
277 |         guard status == .saving else { return }
278 |
279 |         monitorTask?.cancel()          // stop the metering loop
    |                      |- error: 'cancel()' is only available in macOS 10.15 or newer
    |                      `- note: add 'if #available' version check
280 |         status = .inactive
281 |
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:287:9: error: 'Task' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
274 |
275 |     /// Transition from saving → finished (file export still pending)
276 |     private func stopSaving() {
    |                  `- note: add @available attribute to enclosing instance method
277 |         guard status == .saving else { return }
278 |
    :
285 |         recorder?.stop()
286 |
287 |         Task { @MainActor in delegate?.recorderDidFinishSaving(self) }
    |         |- error: 'Task' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
288 |         Task { await self.exportAndSave() }
289 |     }
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:287:9: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
274 |
275 |     /// Transition from saving → finished (file export still pending)
276 |     private func stopSaving() {
    |                  `- note: add @available attribute to enclosing instance method
277 |         guard status == .saving else { return }
278 |
    :
285 |         recorder?.stop()
286 |
287 |         Task { @MainActor in delegate?.recorderDidFinishSaving(self) }
    |         |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
288 |         Task { await self.exportAndSave() }
289 |     }
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:288:9: error: 'Task' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
274 |
275 |     /// Transition from saving → finished (file export still pending)
276 |     private func stopSaving() {
    |                  `- note: add @available attribute to enclosing instance method
277 |         guard status == .saving else { return }
278 |
    :
286 |
287 |         Task { @MainActor in delegate?.recorderDidFinishSaving(self) }
288 |         Task { await self.exportAndSave() }
    |         |- error: 'Task' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
289 |     }
290 |
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:288:9: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
274 |
275 |     /// Transition from saving → finished (file export still pending)
276 |     private func stopSaving() {
    |                  `- note: add @available attribute to enclosing instance method
277 |         guard status == .saving else { return }
278 |
    :
286 |
287 |         Task { @MainActor in delegate?.recorderDidFinishSaving(self) }
288 |         Task { await self.exportAndSave() }
    |         |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
289 |     }
290 |
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:295:15: error: 'MainActor' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
290 |
291 |     /// Called when the timeout expires with no capture
292 |     private func finishByTimeout() async {
    |                  `- note: add @available attribute to enclosing instance method
293 |         recorder?.stop()
294 |         status = .inactive
295 |         await MainActor.run { delegate?.recorderDidTimeOut(self) }
    |               |- error: 'MainActor' is only available in macOS 10.15 or newer
    |               `- note: add 'if #available' version check
296 |     }
297 |
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:295:25: error: 'run(resultType:body:)' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
290 |
291 |     /// Called when the timeout expires with no capture
292 |     private func finishByTimeout() async {
    |                  `- note: add @available attribute to enclosing instance method
293 |         recorder?.stop()
294 |         status = .inactive
295 |         await MainActor.run { delegate?.recorderDidTimeOut(self) }
    |                         |- error: 'run(resultType:body:)' is only available in macOS 10.15 or newer
    |                         `- note: add 'if #available' version check
296 |     }
297 |
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:307:19: error: 'MainActor' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
298 |     // MARK: – Export ----------------------------------------------------------
299 |
300 |     private func exportAndSave() async {
    |                  `- note: add @available attribute to enclosing instance method
301 |         let outURL = scratchDir.appendingPathComponent("\(UUID().uuidString).m4a")
302 |
    :
305 |               let export = AVAssetExportSession(asset: AVAsset(url: recordedURL),
306 |                                                 presetName: AVAssetExportPresetAppleM4A) else {
307 |             await MainActor.run { delegate?.recorderDidAbort(self) }
    |                   |- error: 'MainActor' is only available in macOS 10.15 or newer
    |                   `- note: add 'if #available' version check
308 |             return
309 |         }
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:307:29: error: 'run(resultType:body:)' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
298 |     // MARK: – Export ----------------------------------------------------------
299 |
300 |     private func exportAndSave() async {
    |                  `- note: add @available attribute to enclosing instance method
301 |         let outURL = scratchDir.appendingPathComponent("\(UUID().uuidString).m4a")
302 |
    :
305 |               let export = AVAssetExportSession(asset: AVAsset(url: recordedURL),
306 |                                                 presetName: AVAssetExportPresetAppleM4A) else {
307 |             await MainActor.run { delegate?.recorderDidAbort(self) }
    |                             |- error: 'run(resultType:body:)' is only available in macOS 10.15 or newer
    |                             `- note: add 'if #available' version check
308 |             return
309 |         }
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:332:15: error: 'withCheckedContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
298 |     // MARK: – Export ----------------------------------------------------------
299 |
300 |     private func exportAndSave() async {
    |                  `- note: add @available attribute to enclosing instance method
301 |         let outURL = scratchDir.appendingPathComponent("\(UUID().uuidString).m4a")
302 |
    :
330 |         export.audioMix       = mix
331 |
332 |         await withCheckedContinuation { (c: CheckedContinuation<Void, Never>) in
    |               |- error: 'withCheckedContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
    |               `- note: add 'if #available' version check
333 |             export.exportAsynchronously { c.resume() }
334 |         }
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:332:45: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
298 |     // MARK: – Export ----------------------------------------------------------
299 |
300 |     private func exportAndSave() async {
    |                  `- note: add @available attribute to enclosing instance method
301 |         let outURL = scratchDir.appendingPathComponent("\(UUID().uuidString).m4a")
302 |
    :
330 |         export.audioMix       = mix
331 |
332 |         await withCheckedContinuation { (c: CheckedContinuation<Void, Never>) in
    |                                             |- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
    |                                             `- note: add 'if #available' version check
333 |             export.exportAsynchronously { c.resume() }
334 |         }
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:333:45: error: 'resume()' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
298 |     // MARK: – Export ----------------------------------------------------------
299 |
300 |     private func exportAndSave() async {
    |                  `- note: add @available attribute to enclosing instance method
301 |         let outURL = scratchDir.appendingPathComponent("\(UUID().uuidString).m4a")
302 |
    :
331 |
332 |         await withCheckedContinuation { (c: CheckedContinuation<Void, Never>) in
333 |             export.exportAsynchronously { c.resume() }
    |                                             |- error: 'resume()' is only available in macOS 10.15 or newer
    |                                             `- note: add 'if #available' version check
334 |         }
335 |
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:336:15: error: 'MainActor' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
298 |     // MARK: – Export ----------------------------------------------------------
299 |
300 |     private func exportAndSave() async {
    |                  `- note: add @available attribute to enclosing instance method
301 |         let outURL = scratchDir.appendingPathComponent("\(UUID().uuidString).m4a")
302 |
    :
334 |         }
335 |
336 |         await MainActor.run { delegate?.recorderDidSaveFile(self, to: outURL) }
    |               |- error: 'MainActor' is only available in macOS 10.15 or newer
    |               `- note: add 'if #available' version check
337 |     }
338 |
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:336:25: error: 'run(resultType:body:)' is only available in macOS 10.15 or newer
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
298 |     // MARK: – Export ----------------------------------------------------------
299 |
300 |     private func exportAndSave() async {
    |                  `- note: add @available attribute to enclosing instance method
301 |         let outURL = scratchDir.appendingPathComponent("\(UUID().uuidString).m4a")
302 |
    :
334 |         }
335 |
336 |         await MainActor.run { delegate?.recorderDidSaveFile(self, to: outURL) }
    |                         |- error: 'run(resultType:body:)' is only available in macOS 10.15 or newer
    |                         `- note: add 'if #available' version check
337 |     }
338 |
/Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:332:40: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift:332:39: note: expanded code originates here
 36 |  */
 37 |
 38 | public actor FDSoundActivatedRecorder {
    |              `- note: add @available attribute to enclosing actor
 39 |
 40 |     // MARK: – Nested types ---------------------------------------------------
    :
298 |     // MARK: – Export ----------------------------------------------------------
299 |
300 |     private func exportAndSave() async {
    |                  `- note: add @available attribute to enclosing instance method
301 |         let outURL = scratchDir.appendingPathComponent("\(UUID().uuidString).m4a")
302 |
    :
330 |         export.audioMix       = mix
331 |
332 |         await withCheckedContinuation { (c: CheckedContinuation<Void, Never>) in
    +--- /Users/admin/builder/spi-builder-workspace/Sources/FDSoundActivatedRecorder/FDSoundActivatedRecorder.swift
    |330 |
    |331 |
    |332 |                                       #isolation
    |    |                                        `- error: 'isolation()' is only available in macOS 10.15 or newer
    +---------------------------------------------------------------------------------------------------------------
333 |             export.exportAsynchronously { c.resume() }
334 |         }
BUILD FAILURE 6.0 macosSpm