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 main (997c7b), with Swift 6.1 for macOS (SPM) on 26 Jul 2025 00:49:43 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.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
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "fdsoundactivatedrecorder",
      "name": "FDSoundActivatedRecorder",
      "url": "https://github.com/fulldecent/FDSoundActivatedRecorder.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/FDSoundActivatedRecorder",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/fulldecent/FDSoundActivatedRecorder.git
[1/633] Fetching fdsoundactivatedrecorder
Fetched https://github.com/fulldecent/FDSoundActivatedRecorder.git from cache (0.97s)
Creating working copy for https://github.com/fulldecent/FDSoundActivatedRecorder.git
Working copy of https://github.com/fulldecent/FDSoundActivatedRecorder.git resolved at main (997c7b6)
warning: '.resolve-product-dependencies': dependency 'fdsoundactivatedrecorder' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/fulldecent/FDSoundActivatedRecorder.git
https://github.com/fulldecent/FDSoundActivatedRecorder.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "FDSoundActivatedRecorder",
  "name" : "FDSoundActivatedRecorder",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    }
  ],
  "products" : [
    {
      "name" : "FDSoundActivatedRecorder",
      "targets" : [
        "FDSoundActivatedRecorder"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "FDSoundActivatedRecorderTests",
      "module_type" : "SwiftTarget",
      "name" : "FDSoundActivatedRecorderTests",
      "path" : "Tests/FDSoundActivatedRecorderTests",
      "sources" : [
        "FDSoundActivatedRecorderTests.swift"
      ],
      "target_dependencies" : [
        "FDSoundActivatedRecorder"
      ],
      "type" : "test"
    },
    {
      "c99name" : "FDSoundActivatedRecorder",
      "module_type" : "SwiftTarget",
      "name" : "FDSoundActivatedRecorder",
      "path" : "Sources/FDSoundActivatedRecorder",
      "product_memberships" : [
        "FDSoundActivatedRecorder"
      ],
      "sources" : [
        "FDSoundActivatedRecorder.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.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)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:29:12: note: 'AVAudioSession' has been explicitly marked unavailable here
 27 | NS_SWIFT_SENDABLE
 28 | API_AVAILABLE(ios(3.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos)
 29 | @interface AVAudioSession : NSObject {
    |            `- note: 'AVAudioSession' has been explicitly marked unavailable here
 30 | @private
 31 | 	void *_impl;
/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.sharedInstance:3:19: note: 'sharedInstance()' has been explicitly marked unavailable here
1 | class AVAudioSession {
2 | @available(macOS, unavailable)
3 |   open class func sharedInstance() -> AVAudioSession}
  |                   `- note: 'sharedInstance()' has been explicitly marked unavailable here
4 |
/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.setCategory:3:13: note: 'setCategory(_:mode:options:)' has been explicitly marked unavailable here
1 | class AVAudioSession {
2 | @available(macOS, unavailable)
3 |   open func setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, options: AVAudioSession.CategoryOptions = []) throws}
  |             `- note: 'setCategory(_:mode:options:)' has been explicitly marked unavailable here
4 |
/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 |     }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSessionTypes.h:106:40: note: 'playAndRecord' has been explicitly marked unavailable here
104 |
105 | /*! Use this category when recording and playing back audio. */
106 | OS_EXPORT AVAudioSessionCategory const AVAudioSessionCategoryPlayAndRecord		API_AVAILABLE(ios(3.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);
    |                                        `- note: 'playAndRecord' has been explicitly marked unavailable here
107 |
108 | /*! Use this category when using a hardware codec or signal processor while
/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 |     }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSessionTypes.h:136:36: note: 'default' has been explicitly marked unavailable here
134 |
135 | /*! The default mode */
136 | OS_EXPORT AVAudioSessionMode const AVAudioSessionModeDefault API_AVAILABLE(ios(5.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);
    |                                    `- note: 'default' has been explicitly marked unavailable here
137 |
138 | /*! Only valid with AVAudioSessionCategoryPlayAndRecord.  Appropriate for Voice over IP
/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.CategoryOptions.defaultToSpeaker:4:23: note: 'defaultToSpeaker' has been explicitly marked unavailable here
2 |   struct CategoryOptions {
3 | @available(macOS, unavailable)
4 |     public static var defaultToSpeaker: AVAudioSession.CategoryOptions { get }  }
  |                       `- note: 'defaultToSpeaker' has been explicitly marked unavailable here
5 | }
6 |
/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.setActive:4:13: 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 |
/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 |         }
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[2/3] 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?
[3/3] 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)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:29:12: note: 'AVAudioSession' has been explicitly marked unavailable here
 27 | NS_SWIFT_SENDABLE
 28 | API_AVAILABLE(ios(3.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos)
 29 | @interface AVAudioSession : NSObject {
    |            `- note: 'AVAudioSession' has been explicitly marked unavailable here
 30 | @private
 31 | 	void *_impl;
/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.sharedInstance:3:19: note: 'sharedInstance()' has been explicitly marked unavailable here
1 | class AVAudioSession {
2 | @available(macOS, unavailable)
3 |   open class func sharedInstance() -> AVAudioSession}
  |                   `- note: 'sharedInstance()' has been explicitly marked unavailable here
4 |
/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.setCategory:3:13: note: 'setCategory(_:mode:options:)' has been explicitly marked unavailable here
1 | class AVAudioSession {
2 | @available(macOS, unavailable)
3 |   open func setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, options: AVAudioSession.CategoryOptions = []) throws}
  |             `- note: 'setCategory(_:mode:options:)' has been explicitly marked unavailable here
4 |
/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 |     }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSessionTypes.h:106:40: note: 'playAndRecord' has been explicitly marked unavailable here
104 |
105 | /*! Use this category when recording and playing back audio. */
106 | OS_EXPORT AVAudioSessionCategory const AVAudioSessionCategoryPlayAndRecord		API_AVAILABLE(ios(3.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);
    |                                        `- note: 'playAndRecord' has been explicitly marked unavailable here
107 |
108 | /*! Use this category when using a hardware codec or signal processor while
/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 |     }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSessionTypes.h:136:36: note: 'default' has been explicitly marked unavailable here
134 |
135 | /*! The default mode */
136 | OS_EXPORT AVAudioSessionMode const AVAudioSessionModeDefault API_AVAILABLE(ios(5.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);
    |                                    `- note: 'default' has been explicitly marked unavailable here
137 |
138 | /*! Only valid with AVAudioSessionCategoryPlayAndRecord.  Appropriate for Voice over IP
/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.CategoryOptions.defaultToSpeaker:4:23: note: 'defaultToSpeaker' has been explicitly marked unavailable here
2 |   struct CategoryOptions {
3 | @available(macOS, unavailable)
4 |     public static var defaultToSpeaker: AVAudioSession.CategoryOptions { get }  }
  |                       `- note: 'defaultToSpeaker' has been explicitly marked unavailable here
5 | }
6 |
/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.setActive:4:13: 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 |
/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.1 macosSpm