The Swift Package Index logo.Swift Package Index

Build Information

Failed to build WWTextToSpeechManager, reference main (df771f), with Swift 6.3 for macOS (SPM) on 17 Aug 2026 09:58:53 UTC.

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: undefined version: run 'make version' to update
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/William-Weng/WWTextToSpeechManager.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/William-Weng/WWTextToSpeechManager
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at df771f3 - Update ReadMe
Cloned https://github.com/William-Weng/WWTextToSpeechManager.git
Revision (git rev-parse @):
df771f3c39babb08234f3b49de6f3a637d12b361
SUCCESS checkout https://github.com/William-Weng/WWTextToSpeechManager.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",
  "traits": [
    "default"
  ],
  "dependencies": [
    {
      "identity": "wwtexttospeechmanager",
      "name": "WWTextToSpeechManager",
      "url": "https://github.com/William-Weng/WWTextToSpeechManager.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/WWTextToSpeechManager",
      "traits": [
        "default"
      ],
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/William-Weng/WWTextToSpeechManager.git
[1/52] Fetching wwtexttospeechmanager
Fetched https://github.com/William-Weng/WWTextToSpeechManager.git from cache (1.03s)
Creating working copy for https://github.com/William-Weng/WWTextToSpeechManager.git
Working copy of https://github.com/William-Weng/WWTextToSpeechManager.git resolved at main (df771f3)
warning: '.resolve-product-dependencies': dependency 'wwtexttospeechmanager' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/William-Weng/WWTextToSpeechManager.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--6988338F2F200930.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/5] Emitting module WWTextToSpeechManager
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:21:31: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
 10 | /// 負責將文字轉換成語音播放
 11 | @MainActor
 12 | final public class WWTextToSpeechManager: NSObject {
    |                    `- note: add '@available' attribute to enclosing class
 13 |
 14 |     public var onStart: ((String) -> Void)?             // 語音開始播放時的回呼
    :
 19 |     public var onCancel: ((String) -> Void)?            // 語音播放被取消時的回呼
 20 |
 21 |     private let synthesizer = AVSpeechSynthesizer()     // 語音合成器
    |                               `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
 22 |
 23 |     private let rate: Float                             // 語音播放速度
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:102:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
102 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didStart utterance: AVSpeechUtterance) {
    |          |                                `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
103 |         Task { @MainActor in onStart?(utterance.speechString) }
104 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:102:84: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
102 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didStart utterance: AVSpeechUtterance) {
    |          |                                                                         `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
103 |         Task { @MainActor in onStart?(utterance.speechString) }
104 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:107:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
105 |
106 |     /// 語音暫停
107 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didPause utterance: AVSpeechUtterance) {
    |          |                                `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
108 |         Task { @MainActor in onPause?(utterance.speechString) }
109 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:107:84: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
105 |
106 |     /// 語音暫停
107 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didPause utterance: AVSpeechUtterance) {
    |          |                                                                         `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
108 |         Task { @MainActor in onPause?(utterance.speechString) }
109 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:112:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
110 |
111 |     /// 語音繼續播放
112 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didContinue utterance: AVSpeechUtterance) {
    |          |                                `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
113 |         Task { @MainActor in onContinue?(utterance.speechString) }
114 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:112:87: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
110 |
111 |     /// 語音繼續播放
112 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didContinue utterance: AVSpeechUtterance) {
    |          |                                                                            `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
113 |         Task { @MainActor in onContinue?(utterance.speechString) }
114 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:117:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
115 |
116 |     /// 語音播放完成
117 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didFinish utterance: AVSpeechUtterance) {
    |          |                                `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
118 |         Task { @MainActor in onFinish?(utterance.speechString) }
119 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:117:85: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
115 |
116 |     /// 語音播放完成
117 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didFinish utterance: AVSpeechUtterance) {
    |          |                                                                          `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
118 |         Task { @MainActor in onFinish?(utterance.speechString) }
119 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:122:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
120 |
121 |     /// 語音播放被取消
122 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didCancel utterance: AVSpeechUtterance) {
    |          |                                `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
123 |         Task { @MainActor in onCancel?(utterance.speechString) }
124 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:122:85: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
120 |
121 |     /// 語音播放被取消
122 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didCancel utterance: AVSpeechUtterance) {
    |          |                                                                          `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
123 |         Task { @MainActor in onCancel?(utterance.speechString) }
124 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:127:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
125 |
126 |     /// 語音即將播放某個文字範圍
127 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, willSpeakRangeOfSpeechString characterRange: NSRange, utterance: AVSpeechUtterance) {
    |          |                                `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
128 |
129 |         let fullText = utterance.speechString as NSString
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:127:129: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
125 |
126 |     /// 語音即將播放某個文字範圍
127 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, willSpeakRangeOfSpeechString characterRange: NSRange, utterance: AVSpeechUtterance) {
    |          |                                                                                                                      `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
128 |
129 |         let fullText = utterance.speechString as NSString
[4/5] Compiling WWTextToSpeechManager SpeechProgress.swift
[5/5] Compiling WWTextToSpeechManager WWTextToSpeechManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:21:31: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
 10 | /// 負責將文字轉換成語音播放
 11 | @MainActor
 12 | final public class WWTextToSpeechManager: NSObject {
    |                    `- note: add '@available' attribute to enclosing class
 13 |
 14 |     public var onStart: ((String) -> Void)?             // 語音開始播放時的回呼
    :
 19 |     public var onCancel: ((String) -> Void)?            // 語音播放被取消時的回呼
 20 |
 21 |     private let synthesizer = AVSpeechSynthesizer()     // 語音合成器
    |                               `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
 22 |
 23 |     private let rate: Float                             // 語音播放速度
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:102:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
102 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didStart utterance: AVSpeechUtterance) {
    |          |                                `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
103 |         Task { @MainActor in onStart?(utterance.speechString) }
104 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:102:84: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
102 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didStart utterance: AVSpeechUtterance) {
    |          |                                                                         `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
103 |         Task { @MainActor in onStart?(utterance.speechString) }
104 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:107:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
105 |
106 |     /// 語音暫停
107 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didPause utterance: AVSpeechUtterance) {
    |          |                                `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
108 |         Task { @MainActor in onPause?(utterance.speechString) }
109 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:107:84: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
105 |
106 |     /// 語音暫停
107 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didPause utterance: AVSpeechUtterance) {
    |          |                                                                         `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
108 |         Task { @MainActor in onPause?(utterance.speechString) }
109 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:112:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
110 |
111 |     /// 語音繼續播放
112 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didContinue utterance: AVSpeechUtterance) {
    |          |                                `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
113 |         Task { @MainActor in onContinue?(utterance.speechString) }
114 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:112:87: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
110 |
111 |     /// 語音繼續播放
112 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didContinue utterance: AVSpeechUtterance) {
    |          |                                                                            `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
113 |         Task { @MainActor in onContinue?(utterance.speechString) }
114 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:117:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
115 |
116 |     /// 語音播放完成
117 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didFinish utterance: AVSpeechUtterance) {
    |          |                                `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
118 |         Task { @MainActor in onFinish?(utterance.speechString) }
119 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:117:85: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
115 |
116 |     /// 語音播放完成
117 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didFinish utterance: AVSpeechUtterance) {
    |          |                                                                          `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
118 |         Task { @MainActor in onFinish?(utterance.speechString) }
119 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:122:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
120 |
121 |     /// 語音播放被取消
122 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didCancel utterance: AVSpeechUtterance) {
    |          |                                `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
123 |         Task { @MainActor in onCancel?(utterance.speechString) }
124 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:122:85: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
120 |
121 |     /// 語音播放被取消
122 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didCancel utterance: AVSpeechUtterance) {
    |          |                                                                          `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
123 |         Task { @MainActor in onCancel?(utterance.speechString) }
124 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:127:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
125 |
126 |     /// 語音即將播放某個文字範圍
127 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, willSpeakRangeOfSpeechString characterRange: NSRange, utterance: AVSpeechUtterance) {
    |          |                                `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
128 |
129 |         let fullText = utterance.speechString as NSString
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:127:129: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
125 |
126 |     /// 語音即將播放某個文字範圍
127 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, willSpeakRangeOfSpeechString characterRange: NSRange, utterance: AVSpeechUtterance) {
    |          |                                                                                                                      `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
    |          `- note: add '@available' attribute to enclosing instance method
128 |
129 |         let fullText = utterance.speechString as NSString
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:67:25: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
 54 |
 55 | // MARK: - 播放控制
 56 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
 57 |
 58 |     /// 播放指定文字
    :
 61 |     ///   - text: 要播放的文字
 62 |     ///   - language: 語言識別碼,例如 `en-US`、`zh-TW` 或 `ja-JP`
 63 |     func speak(text: String, language: String) {
    |          `- note: add '@available' attribute to enclosing instance method
 64 |
 65 |         stop()
 66 |
 67 |         let utterance = AVSpeechUtterance(string: text)
    |                         |- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
    |                         `- note: add 'if #available' version check
 68 |
 69 |         utterance.rate = rate
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:73:24: error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
 54 |
 55 | // MARK: - 播放控制
 56 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
 57 |
 58 |     /// 播放指定文字
    :
 61 |     ///   - text: 要播放的文字
 62 |     ///   - language: 語言識別碼,例如 `en-US`、`zh-TW` 或 `ja-JP`
 63 |     func speak(text: String, language: String) {
    |          `- note: add '@available' attribute to enclosing instance method
 64 |
 65 |         stop()
    :
 71 |         utterance.volume = volume
 72 |
 73 |         if let voice = AVSpeechSynthesisVoice(language: language) { utterance.voice = voice }
    |                        |- error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
    |                        `- note: add 'if #available' version check
 74 |         synthesizer.speak(utterance)
 75 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:103:9: error: 'Task' is only available in macOS 10.15 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
102 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didStart utterance: AVSpeechUtterance) {
    |          `- note: add '@available' attribute to enclosing instance method
103 |         Task { @MainActor in onStart?(utterance.speechString) }
    |         |- error: 'Task' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
104 |     }
105 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:103:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
102 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didStart utterance: AVSpeechUtterance) {
    |          `- note: add '@available' attribute to enclosing instance method
103 |         Task { @MainActor in onStart?(utterance.speechString) }
    |         |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
104 |     }
105 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:108:9: error: 'Task' is only available in macOS 10.15 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
105 |
106 |     /// 語音暫停
107 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didPause utterance: AVSpeechUtterance) {
    |          `- note: add '@available' attribute to enclosing instance method
108 |         Task { @MainActor in onPause?(utterance.speechString) }
    |         |- error: 'Task' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
109 |     }
110 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:108:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
105 |
106 |     /// 語音暫停
107 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didPause utterance: AVSpeechUtterance) {
    |          `- note: add '@available' attribute to enclosing instance method
108 |         Task { @MainActor in onPause?(utterance.speechString) }
    |         |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
109 |     }
110 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:113:9: error: 'Task' is only available in macOS 10.15 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
110 |
111 |     /// 語音繼續播放
112 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didContinue utterance: AVSpeechUtterance) {
    |          `- note: add '@available' attribute to enclosing instance method
113 |         Task { @MainActor in onContinue?(utterance.speechString) }
    |         |- error: 'Task' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
114 |     }
115 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:113:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
110 |
111 |     /// 語音繼續播放
112 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didContinue utterance: AVSpeechUtterance) {
    |          `- note: add '@available' attribute to enclosing instance method
113 |         Task { @MainActor in onContinue?(utterance.speechString) }
    |         |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
114 |     }
115 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:118:9: error: 'Task' is only available in macOS 10.15 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
115 |
116 |     /// 語音播放完成
117 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didFinish utterance: AVSpeechUtterance) {
    |          `- note: add '@available' attribute to enclosing instance method
118 |         Task { @MainActor in onFinish?(utterance.speechString) }
    |         |- error: 'Task' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
119 |     }
120 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:118:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
115 |
116 |     /// 語音播放完成
117 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didFinish utterance: AVSpeechUtterance) {
    |          `- note: add '@available' attribute to enclosing instance method
118 |         Task { @MainActor in onFinish?(utterance.speechString) }
    |         |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
119 |     }
120 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:123:9: error: 'Task' is only available in macOS 10.15 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
120 |
121 |     /// 語音播放被取消
122 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didCancel utterance: AVSpeechUtterance) {
    |          `- note: add '@available' attribute to enclosing instance method
123 |         Task { @MainActor in onCancel?(utterance.speechString) }
    |         |- error: 'Task' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
124 |     }
125 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:123:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
120 |
121 |     /// 語音播放被取消
122 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didCancel utterance: AVSpeechUtterance) {
    |          `- note: add '@available' attribute to enclosing instance method
123 |         Task { @MainActor in onCancel?(utterance.speechString) }
    |         |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
124 |     }
125 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:143:9: error: 'Task' is only available in macOS 10.15 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
125 |
126 |     /// 語音即將播放某個文字範圍
127 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, willSpeakRangeOfSpeechString characterRange: NSRange, utterance: AVSpeechUtterance) {
    |          `- note: add '@available' attribute to enclosing instance method
128 |
129 |         let fullText = utterance.speechString as NSString
    :
141 |
142 |         let speechProgress = SpeechProgress(range: characterRange, text: currentText, progress: progress, fullText: utterance.speechString)
143 |         Task { @MainActor in onProgress?(speechProgress) }
    |         |- error: 'Task' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
144 |     }
145 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:143:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
 97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
 98 | nonisolated
 99 | public extension WWTextToSpeechManager {
    |        `- note: add '@available' attribute to enclosing extension
100 |
101 |     /// 語音開始播放
    :
125 |
126 |     /// 語音即將播放某個文字範圍
127 |     func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, willSpeakRangeOfSpeechString characterRange: NSRange, utterance: AVSpeechUtterance) {
    |          `- note: add '@available' attribute to enclosing instance method
128 |
129 |         let fullText = utterance.speechString as NSString
    :
141 |
142 |         let speechProgress = SpeechProgress(range: characterRange, text: currentText, progress: progress, fullText: utterance.speechString)
143 |         Task { @MainActor in onProgress?(speechProgress) }
    |         |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
144 |     }
145 | }
BUILD FAILURE 6.3 macosSpm