Build Information
Failed to build FDSoundActivatedRecorder, reference main (997c7b
), with Swift 6.0 for macOS (SPM) on 26 Jul 2025 00:48:27 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: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/fulldecent/FDSoundActivatedRecorder
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
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 main
========================================
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